備忘録。単独記事に書くまでもない小ネタ。
Perl 5.10で追加された予約語(“say
”、“given ~ when
”、“state
”)などをワンライナーで使うときは“-e
”の代わりに“-E
”を使う。
$ perl -E 'say "Hello, World!"' Hello, World!
Perl 5.8だか5.10だかわからんときは、“-l
”オプションを付けておくとprint
がsay
に変身するので便利。
$ perl -le 'print "Hello, World!"' Hello, World!
スクリプトの一行目(shebang)にオプションを書いても良い。
#!/usr/bin/perl -l print "Hello, World!";
これは「$\ = $/;
」を本文に含むことと等価だ。そのため、「$/
」特殊変数をいじるオプション(“-0
”など)と共に利用するときは順番に注意しないといけない。
$ perl -e '$\ = $/; print "Hello, World!"' Hello, World!