Perl:使用<>构造时如何获取文件名?

前端之家收集整理的这篇文章主要介绍了Perl:使用<>构造时如何获取文件名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Perl提供了这个非常好的功能
while ( <> )
{
    # do something
}

…它允许将脚本用作script.pl< filename>以及cat< filename> | script.pl.

现在,有没有办法确定脚本是否以前面的方式被调用,如果是,文件名是什么?

我知道我曾经知道过一次,我知道我甚至使用了这个结构,但是我不记得在哪里/如何.搜索’net for this(“perl stdin filename”?No …)非常困难.

请帮助?

解决方法

变量 $ARGV保存正在处理的当前文件.
$echo hello1 > file1
$echo hello2 > file2
$echo hello3 > file3
$perl -e 'while(<>){s/^/$ARGV:/; print;}' file*
file1:hello1
file2:hello2
file3:hello3

猜你在找的Perl相关文章