日常の中で複雑な作業をしたい時, Perlで雑なスクリプトを書いて実現することがあります. そういった時によく使うCPANモジュール達を紹介しようと思います.
Path::Tiny
ファイルの読み書きはもちろん, ファイルやディレクトリの存在確認, ディレクトリからのファイルの走査, 一時的なファイル/ディレクトリを用意... などなど, ファイルやディレクトリ操作に関するあらゆることがこのモジュール1つで実現できて便利です.
Data::Printer (DDP)
便利で見やすいData::Dumper. 雑なスクリプトを作る時は, とにかくData::Printerで途中結果を表示しながら試行錯誤しています.
過去にこういう紹介記事を書いていました.
或いはこういう活用事例も書いていましたね.
Capture::Tiny
system
で適当なコマンドを実行して, その標準出力や標準出力を元にして更に処理をする... という時に便利なコマンドです.
use strict; use warnings; use Capture::Tiny qw/ capture /; my ($stdout, $stderr) = capture { system('ls'); }; print $stdout;
こういう感じにしてあげれば, capture
で囲った部分のコード(この場合, system
でls
を実行している)の標準出力が$stdout
に, 標準エラー出力が$stderr
に格納されます.
まとめ
何かしらの作業をまとめてスクリプトにするとき, だいたいシェルスクリプトで書こうとするものの, 途中で分岐が増えてきて「アバーッ!!!」となり, Perlで書き直す... という事が多いです. というわけで, 今回はそういう時によく使うモジュール達を紹介しました.
「自分はこれ使うことが多い」, 「これも便利!」といった情報, お待ちしております.