hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

Perl版irb?perlshを試してみる

Perlirbのような使い方をしたかったので、perlshをインストールしてみました。
perlshはCPANで提供されています。(Term::ReadLine::Gnu)

1. libreadline5-dev libncurses5-devのインストール
 ・perlshのインストール前にlibreadline5-dev libncurses5-devをインストール。
  インストールしておかないとTerm::ReadLine::Gnuのインストールでエラーがでます。

$ sudo apt-get install libreadline5-dev libncurses5-dev

2. Term::ReadLine::Gnuのインストール
 ・CPANでTerm::ReadLine::Gnuでインストールします。
$ sudo cpan Term::ReadLine::Gnu
CPAN: Storable loaded ok (v2.18)

Writing /usr/local/lib/perl/5.10.0/auto/Term/ReadLine/Gnu/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
HAYASHI/Term-ReadLine-Gnu-1.19.tar.gz
/usr/bin/make install -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state


3. perlshファイルの配置
 ・Term::ReadLine::Gnuをインストールしただけだと、perlshがインストールされないので、
  PATHの通っているディレクトリに手動でファイルを配置します。
 ・Term::ReadLine::Gnuのソースをダウンロードします。
 ・/usr/local/bin以下にperlが無いとperlshの実行時にエラーになるので、
  シンボリックリンクも作成します。

 Term::ReadLine::Gnuのダウンロード先
 http://search.cpan.org/~hayashi/Term-ReadLine-Gnu/

# ダウンロードファイルの解凍
$ gzip -cd Term-ReadLine-Gnu-1.19.tar.gz | tar xf -

# perlshのコピー
$ sudo cp -p eg/perlsh /usr/local/bin/perlsh

# perlシンボリックリンクを/usr/local/binに作成
$ ln -s /usr/bin/perl /usr/local/bin/perl


以上でインストールは完了です。
こんな感じで使用できます。
$ perlsh
main[1]$ printf "HelloWorld";
HelloWorld1
main[2]$ 1 + 2 + 3 + 4 + 5
15
main[3]$ "Hello" . "World"
HelloWorld

irbっぽくて、ちょっとしたコードの確認に便利です。