perl中<>的默认文件源
发布时间:2020-12-16 06:19:17 所属栏目:大数据 来源:网络整理
导读:我想通过读取数据操作符. 它从stdin或指定为脚本args的文件中读取数据 但是,如果没有提供STDIN,也没有指定文件,我想从默认文件路径中读取数据; 所以,应该是这样的 my $file = '';if ($ARGC) { open $file,'default.txt'; }while ($file) # if no ARGs it sho
我想通过<>读取数据操作符.
它从stdin或指定为脚本args的文件中读取数据 但是,如果没有提供STDIN,也没有指定文件,我想从默认文件路径中读取数据; 所以,应该是这样的 my $file = ''; if ($ARGC) { open $file,'<default.txt'; } while (<$file>) # if no ARGs it should be <> { do_all; } 解决方法
<> operator从@ARGV读取输入文件名列表.因此,设置默认输入文件名的一种方法是检查@ARGV是否为空,如果是,则将默认文件名推送到其上:
push @ARGV,"default.txt" unless @ARGV; 我不确定你所说的“没有STDIN”是什么意思,但如果你的意思是你希望你的脚本从foo.txt而不是default.txt中读取,如果被调用,例如: perl script.pl < foo.txt 要么: cat foo.txt | perl script.pl 然后通过使用 push @ARGV,"default.txt" unless @ARGV or !-t STDIN; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |