前回scraper CLIを試してみたら、これはチェックにすげーよさげと書いたけど、なんか使いづらいんだよね。
cpanシェルと同じで履歴効かないし、矢印キーを押したら^[[Aみたいな感じで制御文字が吐き出されちゃう。
cpanシェルはぶっちゃけ、install [モジュール名をコピペ]だからそんな気にしてなかったんだけど、流石にscraper CLIで前回の履歴を使えないのは痛すぎる。
でも前回、参考にしたページには
Term::ReadLine を使用しているのでシェルみたく履歴を呼び出せる。CSS セレクタや XPath をちょこちょこ修正して試すのに便利。
ってあるんだよねぇ。確かにscraperコマンドの本体を見てみたらuse Term::ReadLineをしていた。コケないってことは既に自分の環境にTerm::ReadLineは入っているはず。なのになぜー?
という訳で調べてみたら、Term::ReadLine単体じゃ履歴や補完といった便利な機能は提供してくれないようです。[参考:Term::ReadLine で GNU Readlineを使う。]
Term::ReadLine::Gnuも必要とのことで早速cpanシェルでこれを入れてみる...が見事にこけた。force installでもダメだったのでportsが提供されていないか調べてみたがなさげ...?と思ったらあった![参考:perlshを使いはじめた]
port名は p5-Term-ReadLine-Gnu ではなく p5-ReadLine-Gnuなのか...。危うく諦めるところだった。
portsなら一発でokだった。早速 scraper [URL]とやってみると...矢印キーが普通に効くし、履歴も参照できるようになった!
ついでに、cpanシェルの方も使いやすくなったので、今まで不便な状態でcpanシェルを使っていたのがアホらしくなった。