Next: Interpolation I, Previous: Special Keywords, Up: Perl [Contents][Index]
Perlは文字列の構成方法として、過剰ともいえるほどの異なる方法を提供しています。関数の引数や、ハッシュをルックアップするカッコのなかで使用できるこれらの文字列は、xgettext
でも概ねサポートされています。
print gettext "Hello World!";
print gettext 'Hello World!';
print gettext qq |Hello World!|; print gettext qq <E-mail: <guido\@imperia.net>>;
qq
演算子は完全にサポートされています。演算子のための区切り文字には、4種類のカッコ(round、angle、square、curly)を入れ子にして使うことも含めて、任意の区切り文字を使用できます。
print gettext q |Hello World!|; print gettext q <E-mail: <guido@imperia.net>>;
q
演算子は完全にサポートされています。演算子のための区切り文字には、4種類のカッコ(round、angle、square、curly)を入れ子にして使うことも含めて、任意の区切り文字を使用できます。
print gettext qx ;LANGUAGE=C /bin/date; print gettext qx [/usr/bin/ls | grep '^[A-Z]*'];
qx
演算子は完全にサポートされています。演算子のための区切り文字には、4種類の括弧(round、angle、square、curly)
を入れ子にして使うことも含めて、任意の区切り文字を使用できます。
この例の場合、演算子内部の文字列にたいしてgettext
は使われません。これはqx
演算子の中に指定したコマンドの出力を使って、gettext
を呼び出します。これはインターフェースを統一するために提供されている機能です(パーサーはすべての文字列と引用符類を抽出します)。
print gettext <<'EOF'; program not found in $PATH EOF print ngettext <<EOF, <<"EOF"; one file deleted EOF several files deleted EOF
ヒアドキュメントは認識されます。ヒアドキュメントを終端する区切り文字列がシングルクォーテーションでくくられていた場合、文字列中の変数は展開されません。区切り文字列がダブルクォーテーションでくくられている場合、または区切り文字でくくられていない場合には、文字列中の変数は展開されます。
数字ではじめまる区切り文字列はサポートされていません!