perlでirbしたいと思ったら出来るみたい
前にRubyの勉強会に参加した時に irb を教えてもらって、便利だったのでPerlでも同じようなことが出来ないかググったら出来るみたい。
Perl5 で REPL(Read-Eval-Print-Loop)をつかいたければ、perl -de 1 をつかえばいい。
DB<1> $x = 1; DB<2> print $x; 1
ただしレキシカルスコープが保存されないとの事。
my $x = 1; print $x;
が正しく動作しない。
で、解決法として Eval::WithLexicals が紹介されている。付属の tinyrepl コマンドを使えばレキシカルスコープが使える。その代わりにグローバル変数を使うと怒られる。
$ tinyrepl re.pl$ $x = 1; "Error!" "Global symbol \"\$x\" requires explicit package name at (eval) line 1, <FIN> line 1.\nBEGIN not safe after errors--compilation aborted at (eval) line 3, <FIN> line 1.\n"
コマンドラインでちょっとコードを試したい時とかに使うくらいなので、レキシカルスコープとか要らないかな。で、面倒なので ipl コマンドで perl -de 1 が使えるようにしておく。Pathが通っている場所に
$ vi ipl #!/bin/sh perl -de 1 $ chmod +x ipl
ってコマンド作っておく。
すぐに追記: postしたらすぐに教えて頂いた。最近ではreplyっていうのがおすすめらしい。
@clicktx perl -de0とかでもいいんですけれど、REPLはさいきんだとreplyがおすすめらしいです
— マコピー (@mackee_w) September 29, 2013
なるほどググると情報ありますね。あとで試してみよう。
-
前の記事
Net::Google::Analytics プロファイルIDの設定 2013.09.29
-
次の記事
SublimeText2で同一ファイルを2画面表示するプラグイン「Simple Clone」が便利すぎる 2013.10.05