読者です 読者をやめる 読者になる 読者になる

ARGV memo

ARGVの挙動をいつも忘れちゃうので、メモ。

多量(ってほど多く無かったけど)のファイルの改行コードがCR, LFか、LFかを判別する必要があったんで、適当に書いた。ARGV便利。

$.の所の条件が逆だったので修正 (´・ω・`)

#!/usr/local/bin/perl
use strict;
use warnings;

my $ff = 'unix';
while (<>) {
    $ff = 'dos' if /\0x0D\0x0A/;
    if ($. > 10 || eof) {
        print "$ARGV:$ff\n";
        close ARGV;

        $ff = 'unix';
    }
}

ここでの、<> は , eof は eof ARGV の省略形。たぶん。