我正在编写一个Perl脚本。如何传递命令行参数呢?
例:
script.pl "string1" "string2"
解决方法
取决于你想做什么。如果要使用这两个参数作为输入文件,您只需将它们传入,然后使用<>读取其内容。
如果它们有不同的含义,你可以使用GetOpt :: Std和GetOpt :: Long来轻松处理它们。 GetOpt :: Std仅支持单字符开关,GetOpt :: Long更灵活。从GetOpt::Long
:
use Getopt::Long; my $data = "file.dat"; my $length = 24; my $verbose; $result = GetOptions ("length=i" => \$length,# numeric "file=s" => \$data,# string "verbose" => \$verbose); # flag
或者,@ARGV是一个包含所有命令行参数的特殊变量。 $ ARGV [0]是第一个(即在你的情况下,“string1”)和$ ARGV [1]是第二个参数。您不需要使用特殊模块来访问@ARGV。