我有一个我想要了解的Perl脚本。我引用了脚本的前几行(abc.pl)
#!/usr/bin/perl
use strict;
use DateTime;
use File::Temp;
use Math::Complex;
use Getopt::Long;
use TauP::Time;
use Seed::Response;
use lib '/usr/lib/perl5';
use Seismogram::SAC;
my(@input,$output);
GetOptions('input=s{,}' => \@input, 'output=s' => \$output);
open my $out_fp,">$output";
foreach my $file (<@input>)
{
my $phase = 'S';
if ( $file =~ /BHZ/ ) { $phase = 'P';}
my $decData = File::Temp->new();
decimateData($file,$decData);
my($sac) = readSAC($decData);
my($resp) = readResponse($sac);
}
我在“list”中列出了一些文件。 任何人都可以让我明白我应该如何输入“列表”并输出文件名到perl脚本。
答案 0 :(得分:1)
my(@input,$output);
此行声明下一行使用的变量(@input
是输入文件数组,$output
是输出文件名的标量)
GetOptions('input=s{,}' => \@input, 'output=s' => \$output);
GetOptions
是来自模块Getopt::Long
的函数,该行解析命令行选项并填充先前声明的变量。您应该阅读module documentation