PerlワンライナーでSAY!!!してみる
いい加減 say 使ってもいいかも。
say関数 といえば、Perl 5.10 から導入された「改行付き print」。Ruby書いてて「puts」とか超便利じゃん!って妬ましい気持ちになったものですが、Perlでもできちゃうんですねー。
ただ、僕の主戦場の格安レンタルサーバーではPerl5.8時代が長く続いていたので、登場してからsayする機会はなかなか訪れませんでした。
・・・そして時は経ち2016年。
Perlの最新バージョンが5.24になり、さくらインターネットのスタンダードプランでもPerl5.14まで選べるようになりました。「いつsayするか?今でしょ!!」(古い)ということで、コマンドラインでsayしてみました。
ワンライナーでsayするには -Eオプション
早速sayしようと思い、コマンドラインを叩くとエラーが・・・。
飛鳥があんなことになってしまったから「say yes」といえないのか、そんな妄想がよぎったけどググッたら解決。コマンドラインオプションを大文字の「E」、「E-girls」の「E」にすれば動きました。
迷わずに、say yes。
print と say の実行結果を比較
せっかくなので、printとの出力の違いをリトグリ(Little Glee Monsters)の「SAY!!!」で比較。
print で出力
出力が一行に並んじゃいますねー。改行させたかったら「. \"\n\"」を追加せなかん。
こんな感じ。泥臭さが隠し切れないですね。
Windowsのコマンドプロンプトってなんでダブルクォートでスクリプトを囲ませるんだろ。評価したい「\n」を囲むダブルクォートをエスケープしなきゃいけないってマンドクサイ。
say で出力
イキってsay関数を使えば「\n」無しでもスマートに改行。うん、便利だ。
これで、「."\n"」って打鍵するのダルいなぁという気分ともオサラバです:)
Let's say!!!