perl – 如何从命令行获取文件句柄?

perl – 如何从命令行获取文件句柄?,第1张

概述我有一个子程序,它以文件句柄作为参数.如何从命令行上指定的文件路径创建文件句柄?我不想自己对这个文件进行任何处理,我只想把它传递给另一个子程序,它返回一个包含文件中所有解析数据的哈希数组. 这是我正在使用的命令行输入: $./getfile.pl /path/to/some/file.csv 这是我调用的子程序的开头看起来像: sub parse { my $handle = shift; 我有一个子程序,它以文件句柄作为参数.如何从命令行上指定的文件路径创建文件句柄?我不想自己对这个文件进行任何处理,我只想把它传递给另一个子程序,它返回一个包含文件中所有解析数据的哈希数组.

这是我正在使用的命令行输入:

$./getfile.pl /path/to/some/file.csv

这是我调用的子程序的开头看起来像:

sub parse {    my $handle = shift;    my @data   = <$handle>;    while (my $line = shift(@data)) {      # do stuff    }}
解决方法 命令行参数在预定义的@ARGV数组中可用.您可以从那里获取文件名,并使用open打开文件句柄.假设您想要对文件进行只读访问,您可以这样做:

my $file = shift @ARGV;open(my $fh,'<',$file) or dIE "Can't read file '$file' [$!]\n";parse($fh);

请注意,或者…将检查调用打开以获得成功,如果不是,则会返回错误消息.内置变量$!将包含失败时(OS相关的)错误消息,告知您调用未成功的原因.例如“没有权限.”

总结

以上是内存溢出为你收集整理的perl – 如何从命令行获取文件句柄?全部内容,希望文章能够帮你解决perl – 如何从命令行获取文件句柄?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1226321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存