Perl tips -- ファイル/引数

引数を取得する

  @ARGVを使います。基本です。
  Windowsの場合は\nではなく、 \r\nであるところも注目です。
#!/usr/bin/perl
$i = 0;
foreach(@ARGV) {
    print $i . ":" . $_ . "\r\n";
    $i++;
}
#

ファイルを読み込む(foreach版)

  これも基本です。最初は基本が続きます
  最初は「ファイルを開け、さもなくば死ね (Open file, or die)」と覚えましょうw
#!/usr/bin/perl
open(IN,"index_ja.html") || die "$!"; # ファイルを開けさもなくば死ね。
foreach(<IN>) {
    print $_;
}
#

ファイルを読み込む(@a = <IN>;版)

  ちょっとひねった版です。
  何度も<IN>でforeachするくらいならこっちにする手もあります。
#!/usr/bin/perl
open(IN,"index_ja.html") || die "$!";

@data = <IN>;

foreach(@data) {
    print $_;
}
#

ファイルを検索する

  こんな感じです。
#!/usr/bin/perl
foreach (<.\/*>) {
    if (-f $_) {
        print "file:". $_ . "\r\n";
    } elsif (-d $_) {
        print "dir:" . $_ . "\r\n";
    } else {
        print "other:" . $_ . "\r\n";
    }
}
#

さらにフォルダの仲間でチェックしたい場合は subを使って以下のようにします。
#!/usr/bin/perl

&fileList("..");
exit(0);
#
sub fileList {
    local($file) = @_;
    foreach (<$file\/*>) {
        if (-f $_) {
            print "file:". $_ . "\r\n";
        } elsif (-d $_) {
            &fileList($_);
        }
    }
}
#