确定$ ARGV [X]是否在perl中传递字符串或文件.

Dan*_*iel -3 perl

有没有办法,除了检查后缀?或者我应该坚持检查.txt?

fin*_*fin 6

@ARGV只是提供给脚本的命令行参数列表,请参阅perlvar

如果您想知道其中一个参数是否是文件,您可能需要-e,请参阅文件测试

如果您希望第一个参数是文件名,则类似于:

my $filename = shift @ARGV;
die "script.pl FILENAME expected" unless -e $filename;
Run Code Online (Sandbox Code Playgroud)