Perlの文字列リテラルはUnix/Linuxシェルのシングルクォートとダブルクォートと似たように機能する
Perlがシェルフレンドリーなひとつの理由として、Perlの文字列リテラルはUnix/Linuxシェルのシングルクォートとダブルクォートと似たように機能することがあげられます。
シングルクォート文字列
Perlのシングルクォート文字列は、変数展開を行いません。この動作は、Unix/Linuxシェルと同じです。
# 変数展開しない(hello $name) my $message = 'hello $name';
ダブルクォート文字列
Perlのダブルクォート文字列は、変数展開を行います。この動作は、Unix/Linuxシェルと同じです。
# 変数展開する(hello kimoto) my $name = 'kimoto'; my $hessage = "hello $name";
シェルのシングルクォートとダブルクォートと似たように動作するので、覚えておきやすいですね。
Perlとシェルの文字列リテラルの違いは?
Perlとbashとの違いはあります。それはバックスラッシュ「\」が、エスケープシーケンスとして解釈されることです。Perlの場合は、どのUnix/Linux環境であってもダブルクォートの中の「\n」で改行を表現できます。エスケープシーケンスについてはC言語との類似性をPerlの開発者は選んだようです。