Perl命令行输入?

时间:2011-03-14 18:21:11

标签: perl input

如何设置Perl脚本,以便命令行上的输入表示脚本查看的位置(目录)?

示例:

cdm line:>perl text.pl C:/pathtodirectory/

在脚本中,我获得了一个可验证的$ path路径: C:/ pathtodirectory

由于

4 个答案:

答案 0 :(得分:4)

命令行参数放在数组@ARGV中。你可以得到它们:

my $path = shift @ARGV;
# or just (shift defaults to using @ARGV outside of any function):
my $path = shift;

答案 1 :(得分:4)

您需要使用@ARGV数组。

所以在text.pl

my $path = shift(@ARGV);

my $path = shift; # @ARGV is the default in the main part of your script

@ARGV是命令行中从索引0开始的每个项目...所以如果你有更多的选项,比如

text.pl some/path some_other_option

some_other_option将以$ARGV[1]

的形式提供

有关更高级的路径处理,请查看Getopt::StdGetopt::Long模块(默认情况下,它们应包含在Perl中。

答案 2 :(得分:1)

@ARGV预定义变量包含脚本的命令行参数。

答案 3 :(得分:1)

在这种情况下,您可以使用perl的Getopt::Long模块documented here

或者您可以简单地解析ARGV

$ perl -MData::Dumper -e 'print Dumper \@ARGV;' foo bar