perlshが便利

rubyirbがあるんで、perlにもインタラクティブシェルあるだろーと思ったらperlshを見つけた。

使うまで

# cpan
cpan[1]> install Term::ReadLine::Gnu

このソースの中に含まれてるので手動コピー。どうせならWeb::Scraper入れたらscraper使えるようになるみたいに、自動でやってくれてもいーのに。

# cp eg/perlsh /usr/bin

1行目のシェバング指定に、/usr/local以下のperlを使う記述があるので修正。

# vi /usr/bin/perlsh

- #! /usr/local/bin/perl
+ #!/usr/bin/env perl

あとはコマンドヒストリを増やして、出力をいい感じにして終わり。

% vi ~/.perlshrc
$PerlSh::HISTSIZE = 1000000;

use Data::Dumper;

sub PerlSh::printer {
    print Dumper shift;
}

以上。あとはおもむろにperlsh

% perlsh
main[79]$ 1+2
$VAR1 = 3;
main[80]$ 'hoge'x3
$VAR1 = 'hogehogehoge';
main[81]$ [1,2,3,4,]
$VAR1 = [
          1,
          2,
          3,
          4
        ];
main[82]$ {ho => 'ge', foo => 'bar'}
$VAR1 = {
          'foo' => 'bar',
          'ho' => 'ge'
        };