第一章: 文件句柄转化为 typeglob/glob 与文件句柄检测

 1 #为了使在子例程中传递文件句柄不出问题
 2 #我们要把文件句柄转为glob或typeglob
 3 
 4 
 5 #转为glob
 6 $fd = *MY_FILE;
 7 
 8 #转为typeblog
 9 $fd = \*MY_FILE;
10 
11 #两种形式都行, 但\*MY_FILE更安全, 一般都用这个形式
12 
13 
14 
15 #传递给子程序
16 hello(\*MY_FILE);
17 
18 #从子程序返回
19 sub get_fd(){
20     open FILE, "readme.txt";
21     return \*FILE;
22 }
23 
24 #fileno()函数可以检测一个变量是否是一个有效的文件句柄
25 #成功时返回文件描述符(一般是大于3, STDIN(0), STDOUT(1), STDERR(3))
26 #当检测到不是文件句柄时返回undef;
27 die "Not a filehandle" unless(fileno($fh));

 

posted on 2017-02-22 08:19  Perl6  阅读(239)  评论(0编辑  收藏  举报

导航