・環境に依存する値はモジュール等から取得する。 例) SOCK_STREAM の値は Socket モジュールから取得。 もしくは、より上位の IO::Socket モジュールを使う。 ・ロケール (文字コード) に依存する定数や、設置者が変更したがる定数は、 __END__ トークン以下に書いて <DATA> で読み込むか、スクリプト先頭に 寄せる。 ・Win9x 系では flock が、MacPerl では truncate が使えない。多くの プラットフォームで使ってほしいスクリプトなら、これらの代替策を考え るか eval でトラップする。 http://perldoc.perl.org/perlport.html