perl输入多个文件

时间:2011-10-03 10:50:34

标签: perl input

  

可能重复:
  How can I pass command-line arguments to a Perl program?

我有一个perl脚本,我需要在命令行上运行,但也提供三个输入文件和一个输出。我不想做STDIN,因为我正在编写一个包装器脚本,多次使用perl脚本来处理多个文件。

所以,我现在有了这个:

open (FICHIER, "<$file1") || die "file not found";
chomp($file1);
@b=<FICHIER>;

open (SPECIES, "<$file2");
$species=<SPECIES>;
chomp($species);

open (FILE3, "<$file3>");
$file3 = <FILE3>;
chomp($file3);

open (OUTFILE, ">$outfile");
chomp($outfile);

我需要做这样的事情:

perl myscript.pl textfile1 textfile2 textfile3 outputfile

我需要$ file1来表示textfile1,$ file2来表示textfile2等。

提前致谢

标记

1 个答案:

答案 0 :(得分:1)

在主程序中,shift函数拉出关闭@ARGV的参数,这是命令行参数列表。所以你可以说:

my $file1 = shift || die "Need 4 file names";
my $file2 = shift || die "Need 4 file names";
my $file3 = shift || die "Need 4 file names";
my $outfile = shift || die "Need 4 file names";

另外,“使用严格”;和“使用警告;”是好习惯,三个参数打开::

open my $FICHIER, '<', $file1 or die "$file1 - $!";