PerlはCGIとしても人気のあるscript(スクリプト)言語であり、プログラミング言語のひとつです。
perlはC、UNIX/Linuxのshellやawk、sedなどの利点を存分に取り入れたscriptで文法規則が緩やかな事でも有名です。
文法が緩やかなのは、良い点も多い反面、perl初心者が戸惑う点や様々な部分で省略が許されているのでPerlスクリプトがそれなりに書ける人であっても見慣れない記述方法に出くわすとソースの解析に戸惑うことになるケースもあり得ます。
例えば、Perlでも条件分岐には各種スクリプトやプログラミング言語でも使われることも多いif文があり、単純なif文は下記の通りです。
$script_perl="好き";
if ($script_perl eq "好き") {
print "Hello World!\n";
}
これは他の言語でも似たような書き方であり、Perlでももちろん使えますが、他方Perlでは、処理が一つの場合には、Cのように1行で記述することもできるので
if ($script_perl eq "好き") { print "Hello World!\n"; }
のようにも記述することができ、やはりCのようにif文自体を後に持ってきて
print "Hello World!\n" if $script_perl eq "好き";
と(いずれも実はPerlが嫌いでも)記述することもできたりします。
このコーディング方法は後置式などと呼ばれることがあります。
また、UNIX生まれのPerlですからCUI/Character User Interfaceであるコマンドライン上でワンライナーで実行することも当然のようにできますし、リダイレクトやパイプによる他コマンド群との連携やデバッグも可能です。
[prompt] perl -e 'print "Hello World!\n"'
ワンライナーを書く際、多くの場合、直後に来る文字列がプログラムであることを指定するeオプションを付け、引数となる処理自体は全体をシングルクォートで括ります。
オプションも多数あり、代替記述がある場合もありますが、ループや条件分岐含めスクリプトで書く処理はワンライナーでも同様に利用できます。
Perlは、継続したバージョンアップにより、同じPerl5でも度重なる進化を遂げていて仕様もそれに連れて拡張し続けています。