カテゴリー
Linux

Perl で文字列を扱うときはシングル?ダブル?どっちのクォート使えばいいの?

Perl 初心者の私が、文字列を扱うときに気をつけようと思ったたった一つのポイント。

文字列だけを扱うときは、シングルクォートを使う。

以上。

あと、メモ。まずは経緯。Logwatch の設定を変えるのに、プログラムをいじる必要があった。それが、Perl だった。いじった内容はこれ→Logwatch改造でEvernoteにノートブック、タグを指定して追加するよ!。PHP は少しやっているので、エスケープする文字、\@とか、や改行文字、\n、を含む文字列を扱うときはダブルクォーテーションで囲む、のお作法でいいのかな?

実際調べた。Google ポイントは、「Perl エスケープ」と検索すること。「Perl 文字列」だと文字列を操作する関数の解説ページがずらりで解決できません!

  • ダブルクォーテーションの中では変数やバックスラッシュ( \ )が評価されますが、シングルクォーテーションの中では単なる文字として認識されます。
    とほほのperl入門(概要編)
  • シングルクオーテーションで囲まれた文字列の中でエスケープシーケンスとして意味を持つものは「\’」と「\\」だけです。
    特殊文字(エスケープシーケンス) – 文字列と数値 – Perl入門
  • 引用符「’」で囲んだ文字列は、そのままリテラル(定数)として扱われます。
    引用符「”」で囲んだ文字列は、ほとんどの文字はリテラルとして処理されますが、一部の文字は置換されたりやエスケープシーケンスとして扱われたりします。
    引用符「`」で囲んだ文字列は、MS-DOSのコマンドとして(Unix上ならUnixのShellコマンドとして)解釈されます。
    超初心者によるPerl の学習

コメントを残す