< ネットワーク構成を保存・復元する | インストールされている .NET Framework のバージョンをチェックするスクリプト - .NET Framework 4.0 対応版 >

August 16, 2010

イコール区切りのファイルを読むタイ付きハッシュ

package EqualSeparated;

sub TIEHASH
{
    my ($class, $file) = @_;
    my @lines = ();

    eval
    {
        open FH, "<$file" or die $!;
        @lines = <FH>;
        close FH;
    };

    bless {
        map {$_->[0] => $_->[1]}
        grep {$_->[0]}
        map {[/^(\w+)\s*=\s*([^\r\n]+)\s*$/]} @lines
    }, $class;
}

sub FETCH { $_[0]->{$_[1]} }
sub EXISTS { exists $_[0]->{$_[1]} }
sub FIRSTKEY { keys %{$_[0]}; each %{$_[0]} }
sub NEXTKEY { each %{$_[0]} }

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2537

コメント

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?