'STRING' と同等の文字列定義
クォート演算子 q//
は、シングルクォーテーションを使わずに文字列を定義することができます。
クォート演算子 q//
による文字列定義は、シングルクォーテーションにる定義と同等です。
q//
を使うことで、文字列の中にシングルクォーテーションが含まれていても、
バックスラッシュを使ってエスケープする必要はありません。
my $str = q/futomi's CGI Café/;
クォート演算子による文字列定義では、文字列を /
で囲む必要はなく、他の記号を使うことができます。
定義する文字列に含まれない記号を使うと良いでしょう。
my $str1 = q(2023/04/02);
my $str2 = q|Windows (64-bit)|;
my $str3 = q!one | two | three!;
my $str4 = q<Go!>;
良くある間違いとして、次のように記述してしまうことがあります。
print q('Hello'); # Hello ではなく 'Hello' と出力される
これはシングルクォーテーションも文字列に含まれてしまいます。 もちろん、それが意図的なら問題ありませんが、意外に間違えてしまうので注意してください。