Subscribed unsubscribe Subscribe Subscribe

ワンライナー化モジュールAcme::OneLinerを更新

Perl OneLiner

Perlスクリプトをワンライナー化するモジュールAcme::OneLinerを作ってみた - すぎゃーんメモで作成した、Acme::OneLinerを、アップデートしました。
GitHub - sugyan/Acme-OneLiner: ワンライナー生成モジュール


今回の変更は、モジュールのuse宣言をコマンドラインオプションに出すようにしたこと。
例えば、以下のようなスクリプトワンライナー化すると、

#!/usr/bin/perl
use List::Util qw(min max);
my @arr = (1, 2, 3);
print min(@arr), max(@arr), "\n";

以前のものでは以下のような出力になっていた。

perl -e 'use List::Util (q/min/, q/max/); my(@arr) = (1, 2, 3); print min(@arr), max(@arr), "\n";'

これを、もうちょっとキレイに

perl -MList::Util=min,max -e 'my(@arr) = (1, 2, 3); print min(@arr), max(@arr), "\n";'

と出力されるように改良しました。


まぁ、中身としてはB::Deparse::compileの結果からuse文っぽいものを検出した場合だけ特別に処理する、というだけ。


あと、Build.PLとMakefile.PLの2ファイルを削除しました。
ワンライナーを使ったインストール手順をREADMEに書いておいたので、上記2つのファイルは要らなくなりましたw
Acme-OneLiner/README at 8814476a0d7981b245065d7d319285d014b91534 · sugyan/Acme-OneLiner · GitHub