base64のデコードとエンコード

急に,base64エンコードの結果をデコードしろと言われて焦ったが,インターネットとはありがたいもので,ちゃんとスクリプトが転がっていた.しかもたったの3行.

#!/usr/bin/perl -w
use MIME::Base64;
while (<>) { print(decode_base64($_)); }

しかし,ということは,コマンドラインから

$ perl -MMIME::Base64 -ne 'print decode_base64($_)' infile >outfile

で良い,ということでもある.まあ,でも,覚えられないな.

エンコードの方も,巨大なファイルでなければ,全部読んじゃうという手抜きをして,

$ perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' infile >outfile

で良いらしい.-0777 は,セパレータとしてillegalな文字を与えるということで,undef($/)と同じことになるそうな.