Perl命令行输入参数[重复]

bfhwhh0e  于 2022-11-15  发布在  Perl
关注(0)|答案(1)|浏览(149)

此问题在此处已有答案

10年前就关门了。

可能重复:

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文件的输出文件(可选)。我已经有了程序的代码,但需要实现参数,以便它们可以在命令行中运行。

cbjzeqam

cbjzeqam1#

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");

相关问题