可能重复:
How can I pass command-line arguments to a Perl program?
我有解析输入文件并输出.stat文件和.csv文件的代码。从这样的命令提示符运行我的Perl脚本需要编码什么?
perl myprogram.pl -i "C:\temp\inputfile.txt" -o "C:\temp\myoutput.csv" -s "C:\temp\myoutput.stat"
其中-i是输入文件(必需),-o是csv(必需)的输出文件位置,-s是.stat文件的输出文件(可选)。我已经有程序的代码,但需要实现参数,以便它们可以在命令行中运行。谢谢。
答案 0 :(得分:4)
use Getopt::Long qw( GetOptions );
sub usage {
print STDERR @_ if @_;
print STDERR ...;
exit(1);
}
sub help {
print ...;
exit(0);
}
my $input_qfn;
my $csv_qfn;
my $output_qfn;
GetOptions(
"help|h|?" => \&help,
"i=s" => \$input_qfn,
"o=s" => \$csv_qfn,
"s=s" => \$stat_qfn,
) or usage();
defined( $input_qfn )
or usage("-i option is required\n");
defined( $csv_qfn )
or usage("-o option is required\n");