Next: PHP, Previous: Tcl, Up: List of Programming Languages [Contents][Index]
perl
pl、PL、pm、perl、cgi
"abc"
'abc'
qq (abc)
q (abc)
qr /abc/
qx (/bin/date)
/pattern match/
?pattern match?
s/substitution/operators/
$tied_hash{"message"}
$tied_hash_reference->{"message"}
__(2連のアンダースコアー)
gettext、dgettext、dcgettext、ngettext、dngettext、dcngettext
textdomain関数
bindtextdomain関数
bind_textdomain_codeset関数
Use setlocale (LC_ALL, "");
use POSIX;
use
Locale::TextDomain;(libintl-perlパッケージに含まれています。これはCPAN(Comprehensive Perl
Archive Network) http://www.cpan.org/)で入手できます。
プラットフォームに依存: gettext_ppはエミュレート、gettext_xsはGNU gettextを使っています
xgettext -k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 -kN__ -k
どちらの種類の位置指定付き書式もサポートしています
printf "%2\$d %1\$d", ...(Perl 5.8.0以降)
__expand("[new] replaces [old]", old => $oldvalue, new => $newvalue)
libintl-perlパッケージはプラットフォームに依存しませんが、Perlの中核となるものの一部です。ターゲットとなるシステムにパッケージがインストールされていない場合、必要な関数のダミーの実装を提供するのは、プログラマーの責任です。
—
libintl-perlに含まれています。これはCPAN(http://www.cpan.org/)で利用できます
examplesディレクトリーの、例hello-perlが利用できます
Perl用のxgettextパーサーのバックエンドと、他のプログラム言語用のパーサーのバックエンドには、重大な違いがあります。これはPerl自体に、他の言語との間に重大な違いがあるからです。Perl用のパーサーのバックエンドは、文字列をマークするための機能を、他のバックエンドより多く提供しますが、これにはPerl固有の制限がいくつかあり、その中でもっとも問題となるのは言語の不完全性によるものでしょう。
| • General Problems: | General Problems Parsing Perl Code | |
| • Default Keywords: | Which Keywords Will xgettext Look For? | |
| • Special Keywords: | How to Extract Hash Keys | |
| • Quote-like Expressions: | What are Strings And Quote-like Expressions? | |
| • Interpolation I: | Invalid String Interpolation | |
| • Interpolation II: | Valid String Interpolation | |
| • Parentheses: | When To Use Parentheses | |
| • Long Lines: | How To Grok with Long Lines | |
| • Perl Pitfalls: | Bugs, Pitfalls, and Things That Do Not Work |
Next: PHP, Previous: Tcl, Up: List of Programming Languages [Contents][Index]