💡
PerlのREPL
はじめに
PythonのREPL、便利ですよね。私もちょっとした四則演算なんかはちゃちゃっとPythonのREPLでやっちゃいます。
今回は、Perlでも標準で同じようなことができる、という紹介です。
基本操作
以下でデバッグモードを起動します。
> perl -de0
起動したら、DB<1>
の後にp+スペースを入力し、適当な計算を試してみます。
DB<1> p 1+2+3*4/5
5.4
答えが返ってきましたね。
応用
変数を使って計算してみます。
DB<2> $drink = 100
DB<3> $food = 500
DB<4> p $drink + $food
600
期待通りの結果です。
配列の構造を見てみます(急に)。
次の例では、pではなくxを使用しています。こうすることで配列の添字が表示されます。
DB<5> x @rray = qw(apple orange banana)
0 'apple'
1 'orange'
2 'banana'
Xコマンドを使用するとより明確かもしれません。引数に構造を展開したい配列の名前を指定します。
DB<6> X rray
@rray = (
0 'apple'
1 'orange'
2 'banana'
)
二次元配列だとこんな感じです。
DB<7> @rray = ([qw(apple orange banana)], [qw(kiwi grape cherry)])
DB<8> X rray
@rray = (
0 ARRAY(0x2766e9c)
0 'apple'
1 'orange'
2 'banana'
1 ARRAY(0x27603a4)
0 'kiwi'
1 'grape'
2 'cherry'
)
ハッシュでの見え方も確認してみます。
DB<9> $mumei = {ichiro => 10, jirou => 9, saburou => 8}
DB<10> X mumei
$mumei = HASH(0x2766dc4)
'ichiro' => 10
'jirou' => 9
'saburou' => 8
便利ですよね。
最後にREPLの終了方法を書いておきます。qです。
DB<11> q
まとめ
Perl標準REPLの使い方をかんたんに紹介しました。
これだけでも便利に使えますが、もっともっとヘビーにPerlのREPLを使いたいという方は、Replyを試してみたらよいと思います。
Discussion