perl - 如何将命令行参数传递给 Perl 程序?

标签 perl command-line

我正在编写 Perl 脚本。如何向其传递命令行参数?

示例:

script.pl "string1" "string2"

最佳答案

取决于你想做什么。如果你想使用这两个参数作为输入文件,你可以将它们传入,然后使用 <>阅读其内容。

如果它们有不同的含义,您可以使用GetOpt::StdGetOpt::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 .

关于perl - 如何将命令行参数传递给 Perl 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361752/

相关文章:

perl - 如何从 Perl 中的散列数组创建散列散列?

swift - 如何在退出前终止进程?

c - 不在其运行时库中拆分参数的 Windows C 编译器?

windows - 如何在 Windows 上访问 $PWD 变量?

perl - 为什么 `$v = () = split`返回1?

perl - 不应该访问@Whatever::什么都会产生至少一个警告而不是一个空数组?

perl - "make test"在 Perl 中更详细

regex - 如何使用嵌入式 perl 代码评估正则表达式

powershell - Powershell从变量运行命令

python - 将应用程序或脚本转换为 shell 命令