Rhythm & Biology

Engineering, Science, et al.

Term::ReadLine

ちょっと自分用に簡単なスクリプト書いてみました。その時にTerm::ReadLineが便利だったのでメモ。


普通にユーザの入力を受け取ろうとすると、

my $input = <STDIN>;

なんて書きますけど、これだとemacsキーバインドとかが使えなくて(自分の環境では)、Ctrl+Hを連打しては後悔することになります。^H^H^H^H.....


Term::ReadLine使ってあげれば、何も特別なことを書かなくてもいいし、ついでにヒストリ機能まで簡単に組み込んだりできるんですね。

my $term = Term::ReadLine->new;

while (my $input = $term->readline("INPUT: ")) {
    $term->addhistory($input);
    print $input;
}

便利ー!