如何获取Perl中正在读取的文件的名称?

Dan*_*ral 2 perl

在以下Perl模式中:

while(<>) {
  # do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获取目前打开的文件的名称?

为了清楚起见,我希望收到很多args,这样循环就会处理多个文件.我想要当前正在处理的文件的名称.

Tod*_*ter 16

它存储在

$ARGV
Run Code Online (Sandbox Code Playgroud)

perldoc perlvar:

  • $ ARGV

    包含从<>读取时当前文件的名称.

但是,如果从STDIN输入管道,你将只得到' - '

关于perldoc perlop中的null文件句柄也有更多的讨论