循环遍历时如何引用perl参数?

时间:2013-07-01 16:51:13

标签: perl

您好我正在尝试使用此答案https://stackoverflow.com/a/1712480/1740992中编写的代码:

foreach (@ARGV){
   print "file: $_\n";
 # open your file here...
   #..do something
 # close your file
}

我不知道如何引用这个论点。当我的scipt只在一个文件上运行时,我通过运行:

打开它
$kml = "adair.kml";
open INPUT, "<$kml";

我该如何替换我的文件名? 我试过了$ARGV[n]

谢谢

3 个答案:

答案 0 :(得分:3)

您已经在使用它it is $_

您可以使用命名变量代替:

foreach my $foo (@ARGV){

答案 1 :(得分:2)

for my $arg (@ARGV) {
    open my $fh, '<', $arg or die "Cannot open '$arg': $!";
    # ...
    close $fh;
 }

答案 2 :(得分:0)

您的代码块:

$kml = "adair.kml";
open INPUT, "<$kml";

应替换为:

use strict;
use warnings;

my $kml = $ARGV[0];
open my $input_fh, '<', $kml or die "Couldn't open $kml $!";

如果你的代码只用一个参数运行。