at_yasu's blog

ロード的なことを

テキストの内容をリバース

ネタが無いのでこんなの投下。

Pythonの様にインテンドされてブロック形式になっているテキストファイルを、ブロック単位で逆順にする。

#!/usr/bin/perl -w
use strict;
use utf8;

my $blockStringBuff = "";
my @blockArrayBuff  = ();

while (<>) {
    chop();
    if (/^[^ \t]+.*$/) {
        if ($blockStringBuff ne "") {
            push @blockArrayBuff, $blockStringBuff;
            $blockStringBuff = "";
        }
    }
    $blockStringBuff .= $_ . "\n";
}

@blockArrayBuff = reverse(@blockArrayBuff);

for (@blockArrayBuff) {
    print $_,"\n";
}


# 久々にPerl使ったから、セミコロン抜けたり、{}忘れたり大変だったよ・・・