perl函数使用文件句柄
发布时间:2020-12-16 00:09:51 所属栏目:大数据 来源:网络整理
导读:http://fhqdddddd.blog.163.com/blog/static/1869915420124141527335/ 在perl的函数定义中,如果使用文件句柄作为参数进行传递,请使用引用,而不要使用直接的变量赋值操作。原因是如果在其它包中引用这个函数,将导致文件句柄非法错误。 #!/usr/bin/perl us
http://fhqdddddd.blog.163.com/blog/static/1869915420124141527335/ 在perl的函数定义中,如果使用文件句柄作为参数进行传递,请使用引用,而不要使用直接的变量赋值操作。原因是如果在其它包中引用这个函数,将导致文件句柄非法错误。 #!/usr/bin/perl $fh= *MY_FH; typeglob引用能够直接传给subroutine hello(*MY_FH); 也能被subroutine返回 my $fh=get_fh(); sub get_fh { ? ?open (FOO,"foo.txt") or die "foo: $!"; ? ?returen *FOO; } 查看一个句柄是否有效 使用fileno()函数 $integer=fileno(FILEHANDLE) fileno() 函数以字符串的形式,typeglob形式或者typeglob引用形式接受句柄。如果句柄有效,返回文件句柄的文件描述符。STDIN STDOUT STDERR描述符为0 1 2,其他文件句柄具有大于3的文件描述。如果没有有效句柄,fileno()返回undef值。 die="not a filehandle" unless defined fileno($fh); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |