目次
perldelta - perl v5.8.8 の新機能
このドキュメントでは 5.8.7 リリースと 5.8.8 リリースとでの相異点を 説明します.
5.8.7 と意図的な非互換はありません. もしなにか非互換と思われる事項が ありましたら, それらはバグでしょう. ぜひ報告をお願いします.
Gisle Aas の提供したパッチのおかげで,
chdir, chmod 及び chown は, システムがそれぞれ fchdir,
fchmod 及び fchown をサポートしていれば, ファイル名でと同じように
ファイルハンドルに対しても動作します.
Attribute::Handlers はバージョン 0.78_02 にアップグレードされました.
ドキュメントの誤字修正.
attrs はバージョン 1.02 にアップグレードされました.
内部的なクリーンアップだけです.
autouse はバージョン 1.05 にアップグレードされました.
実装の単純化.
B はバージョン 1.09_01 にアップグレードされました.
B:: モジュールの継承階層が訂正されました; B::NV は B::SV
から派生します(以前は B::IV でした).
blib はバージョン 1.03 にアップグレードされました.
ドキュメントの誤字修正.
ByteLoader はバージョン 0.06 にアップグレードされました.
内部的なクリーンアップ.
CGI はバージョン 3.15 にアップグレードされました.
self_url() から外側の "?" が取り除かれました.
scrolling_list() の select の属性は修正されました.
https プロトコルでも virtual_port が正しく機能する
ようになりました.
関数指向モードでも upload_hook() と append() が機能する様に
なりました.
POST_MAX がクライアントをそれ以上にハングさせない様になりました.
自動的なタブインデックスは無効になりました, そして新しい -tabindex
プラグマが加えられ, これによって自動インデックスを再び有効にすることが
できます.
end_form() は空の(そして有効でない) <div> を発行しなくなりました.
CGI::Carp はいくつかの mod_perl 設定でもよりよく動作するように
なりました.
$CGI::TMPDIRECTORY の指定がより効果的になりました.
ドキュメンテーションの強化.
charnames はバージョン 1.05 にアップグレードされました.
viacode() は16進文字列を受け付けるようになり, より最適化
されました.
CPAN はバージョン 1.76_02 にアップグレードされました.
1 minor bug fix for Win32
ja;
Win32 での小さなバグを1つ修正.
Cwd はバージョン 3.12 にアップグレードされました.
Win32 において canonpath() が foo\.. の部分をちゃんと
壊すようになりました.
Symbian OS での振る舞いの改善.
ドキュメンテーションの強化と誤字修正.
内部のクリーンアップ.
Dumper::Dumper はバージョン 2.121_08 にアップグレードされました.
Data::Dumper がときどきハッシュのイテレーション状態を更新してしまう
問題は修正されました.
数値ラベルが動作する様になりました.
内部のクリーンアップ.
DB はバージョン 1.01 にアップグレードされました.
デバッガで動かしたときに正規表現エンジンの状態がときどき破壊される問題が 修正されました.
DB_File はバージョン 1.814 にアップグレードされました.
Berkeley DB 4.4 のサポートが追加されました.
Devel::DProf はバージョン 20050603.00 にアップグレードされました.
内部のクリーンアップ.
Devel::Peek はバージョン 1.03 にアップグレードされました.
内部のクリーンアップ.
Devel::PPPort はバージョン 3.06_01 にアップグレードされました.
--compat-version 引数のチェックが改善されました.
コマンドラインから渡されたファイルはデフォルトでフィルタされるように なりました.
フィルタリングを上書きする --nofilter オプションが追加されました.
ドキュメンテーションの強化.
diagnostics はバージョン 1.15 にアップグレードされました.
ドキュメントの誤字修正.
Digest はバージョン 1.14 にアップグレードされました.
コンストラクタが SHA-224 を実装しているモジュールを 知るようになりました.
ドキュメントの調整と誤字修正.
Digest::MD5 はバージョン 2.36 にアップグレードされました.
ロードの高速化のために XSLoader を使うようになりました.
最近発見された MD5 の弱点をドキュメントに加筆.
Dumpvalue はバージョン 1.12 にアップグレードされました.
ドキュメントの修正.
DynaLoader はアップグレードされましたが, 不幸なことにバージョン番号を
あげることができませんでした.
Win32 での dl_unload_file の実装.
内部のクリーンアップ.
XSLoader 0.06 は合併されました. bootstrap_inherit() の
呼び出しの小さな最適化とドキュメンテーションの強化が行われました.
Encode はバージョン 2.12 にアップグレードされました.
CHECK にコードリファレンスを受け付けるようになりました!
ISO-8859-7 エンコーディングに新しく3文字が追加されました.
新しいエンコーディング MIME-Header-ISO_2022_JP が
追加されました.
部分文字と encoding(utf-8-strict) に関する問題が修正されました.
ドキュメンテーションの強化と誤字修正.
English はバージョン 1.02 にアップグレードされました.
$COMPILING 変数が追加されました.
ExtUtils::Constant はバージョン 0.17 にアップグレードされました.
古いバージョンの perl との互換性が改善されました.
ExtUtils::MakeMaker はバージョン 6.30 にアップグレードされました
(前は 6.17 でした).
ここに書くにはちょっとおおすぎ; http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes を参照してください.
File::Basename は Michael Schwern による寄稿を含むバージョン 2.74 に
アップグレードされました.
ドキュメントの明瞭化と間違いの修正.
basename が名前を処理する前に末尾のパス区切り文字を取り除くように
なりました.
basename は同じ名前のシェルユーティリティと一致するように,
パラメータ / に対して / を返すようになりました.
サフィックスは残りの文字が同一であっても取り除かれなくなりました. シェルユーティリティと一致させるためにはもう1処理行ってください.
いくつかの内部コードのクリーンアップ.
File::Copy はバージョン 2.09 にアップグレードされました.
自分自身へのコピーは失敗します.
ファイルシステムをまたぐファイルの移動はアクセス及び更新時間を 維持するようになりました.
File::Find はバージョン 1.10 にアップグレードされました.
Win32 での可搬性を修正しました.
ドキュメンテーションの強化.
File::Glob はバージョン 1.05 にアップグレードされました.
内部のクリーンアップ.
File::Path はバージョン 1.08 にアップグレードされました.
mkpath が mkdir の失敗時に errno を残すようになりました.
File::Spec はバージョン 3.12 にアップグレードされました.
Win32 において File::Spec->rootdir() が / ではなく \ を
返すようになりました.
$^O はときどき汚染されています. これは修正されました.
Win32 において canonpath が foo/.. (もしくは foo\..) の部分を
これまで行っていた"誤った"動作を起こすのではなくちゃんと壊すように
なりました. Unix での canonpath はこれが誤ったものとしても
引き続きこれらの部分を取り壊しません.
いくつかのドキュメンテーションの改善.
いくつかの内部コードのクリーンアップ.
FileCache はバージョン 1.06 にアップグレードされました.
ドキュメントの POD フォーマットエラーの修正.
Filter::Simple はバージョン 0.82 にアップグレードされました.
FindBin はバージョン 1.47 にアップグレードされました.
普通よりアクセス制限のかかっているディレクトリでも よりよく動作するようになりました.
GDBM_File はバージョン 1.08 にアップグレードされました.
内部のクリーンアップ.
Getopt::Long はバージョン 2.35 にアップグレードされました.
prefix_pattern はユーザにどのプレフィックスパターンに
ロングオプションスタイルのセマンティクスを適用させるかを
指定させるための設定オプション long_prefix_pattern によって
補完されるようになりました.
オプションは一度に複数の値をとれるようになりました(実験的; experimental).
様々なバグ修正.
if はバージョン 0.05 にアップグレードされました.
リストコンテキストで条件句と共に飛ばれたときに
より意味のあるエラーメッセージを if から与えるようになりました.
以前のバージョンの perl との後方互換を復元しました.
IO はバージョン 1.22 にアップグレードされました.
ドキュメンテーションの強化.
内部のクリーンアップ.
IPC::Open2 はバージョン 1.012 にアップグレードされました.
ドキュメンテーションの強化.
IPC::Open3 はバージョン 1.02 にアップグレードされました.
ドキュメンテーションの強化.
List::Util はバージョン 1.18 にアップグレードされました
(前は 1.14 でした).
refaddr のpure-perl 版で bless されていないリファレンスを bless
しないように修正.
ロードの高速化に XSLoader を使用.
いくつかのメモリリークを修正.
内部のクリーンアップと可搬性の修正.
Math::Complex はバージョン 1.35 にアップグレードされました.
atan2(0, i) は全ての(計算可能な)複素数引数の場合において動作します.
make 及び emake のいくつかのバグを修正.
k乗根を直接返すことをサポート.
emake で [2,-3pi/8] をサポート.
make/emake で inf のサポート.
make/emake のドキュメントをより明白に.
Math::Trig はバージョン 1.03 にアップグレードされました.
よりすばらしい周期関数の追加: great_circle_waypoint 及び
great_circle_destination
MIME::Base64 はバージョン 3.07 にアップグレードされました.
ロードの高速化に XSLoader を使用.
ドキュメンテーションの強化.
内部のクリーンアップ.
NDBM_File はバージョン 1.06 にアップグレードされました.
ドキュメンテーションの強化.
ODBM_File はバージョン 1.06 にアップグレードされました.
ドキュメントの誤字修正.
内部のクリーンアップ.
Opcode はバージョン 1.06 にアップグレードされました.
ドキュメンテーションの強化.
内部のクリーンアップ.
open はバージョン 1.05 にアップグレードされました.
ドキュメンテーションの強化.
overload はバージョン 1.04 にアップグレードされました.
ドキュメンテーションの強化.
PerlIO はバージョン 1.04 にアップグレードされました.
PerlIO::via はレイヤを適切に反復(iterate)するようになりました.
PerlIO::scalar は $/ = "" を理解するようになりました.
部分的な文字に対する encoding(utf-8-strict) が動作するようになりました.
ドキュメンテーションの強化.
内部のクリーンアップ.
Pod::Functions はバージョン 1.03 にアップグレードされました.
ドキュメントの誤字修正.
Pod::Html はバージョン 1.0504 にアップグレードされました.
HTML 出力において同じページ内の =item に正しく
リンクするようになりました. また, 正しい(valid)XHTMLに
なります.
変数名は意図されたように認識されます.
ドキュメントの誤字修正.
Pod::Parser はバージョン 1.32 にアップグレードされました.
はじめの行が =head から始まるファイルを許可します.
Win32 での可搬性を修正しました.
pod2usage の終了ステータスを修正.
pod2usage に新しく -noperldoc スイッチが追加されました.
任意の URL スキーマは許可されます.
ドキュメントの誤字修正.
POSIX はバージョン 1.09 にアップグレードされました.
ドキュメントの誤字修正.
内部のクリーンアップ.
re はバージョン 0.05 にアップグレードされました.
ドキュメントの誤字修正.
Safe はバージョン 2.12 にアップグレードされました.
小さなドキュメンテーション強化.
SDBM_File はバージョン 1.05 にアップグレードされました.
ドキュメントの誤字修正.
内部のクリーンアップ.
Socket はバージョン 1.78 にアップグレードされました.
内部のクリーンアップ.
Storable はバージョン 2.15 にアップグレードされました.
Adam Kennedy によって追加された STORABLE_attach フック
機能を含みます. また ithreads において ithreads のクローン
追跡コードを利用することでメモリを倹約するようになりました.
Switch はバージョン 2.10_01 にアップグレードされました.
ドキュメントの誤字修正.
Sys::Syslog はバージョン 0.13 にアップグレードされました.
数値のマクロや意味のある Exporter タグを提供するようになりました.
ネットワーク環境が設定されていない環境で使用できる値を返さないことが
あることから Sys::Hostname を使わなくなりました.
かわりに INADDR_LOOPBACK を直接つかいます.
syslog() はローカルタイムスタンプを使うようになります.
setlogmask() は C の対応する関数のように振る舞うようになります.
setlogsock() は croak() として書かれます.
エラーメッセージと警告メッセージの改善.
ドキュメンテーションの改善.
Term::ANSIColor はバージョン 1.10 にアップグレードされました.
colored において, $EACHLINE が設定されているときに
単独の0(リテラルの0)からなる行に色を付けれないバグの修正.
テストの改善.
Term::ReadLine はバージョン 1.02 にアップグレードされました.
ドキュメントの調整.
Test::Harness はバージョン 2.56 にアップグレードされました
(前は 2.48 でした).
Test::Harness タイマーはデフォルトでオフになりました.
経過時間をミリ秒で表示するようになりました.
様々なバグ修正.
Test::Simple はバージョン 0.62 にアップグレードされました
(前は 0.54 でした).
is_deeply() は多くの場合失敗します.
様々な小さなバグの修正.
ドキュメンテーションの強化.
Text::Tabs はバージョン 2005.0824 にアップグレードされました.
expand の高速な実装の提供.
Text::Wrap はバージョン 2005.082401 にアップグレードされました.
$Text::Wrap::separator2 の追加. 他の文字列で line-break を加えても
既存の改行を保存できるようになります.
threads はバージョン 1.07 にアップグレードされました.
threads は no warnings 'threads' を守るようになりました.
スレッドのインタプリタは undef $t の後ではなく $t->join() の後に
解放されるようになりました. これにより ithreads でのいくつかの
メモリリークが修正されました(Dave Mitchellによってなされました).
いくつかのドキュメントの誤字修正.
threads::shared はバージョン 0.94 にアップグレードされました.
ドキュメントの追加のみ.
補足: threads::shared の改善された実装は CPAN で入手可能です -
安定していることが確認されれば 5.8.9 で取り込まれるでしょう.
Tie::Hash はバージョン 1.02 にアップグレードされました.
ドキュメントの誤字修正.
Time::HiRes はバージョン 1.86 にアップグレードされました
(前は 1.66 でした).
clock_nanosleep() と clock() の機能が追加されました.
POSIX clock_gettime() 及び clock_getres() が追加されました.
gettimeofday() が失敗したときに undef か空のリストを返すようになりました.
nanosleep の検出の改善.
内部のクリーンアップ.
ドキュメンテーションの強化.
Unicode::Collate はバージョン 0.52 にアップグレードされました.
UCA Revision 14 (Unicode 4.1.0 ベース) の実装.
Unicode::Collate-new> メソッドでユーザの $_ を上書きしなく
なりました.
ドキュメンテーションの強化.
Unicode::UCD はバージョン 0.24 にアップグレードされました.
ドキュメントの誤字修正.
User::grent はバージョン 1.01 にアップグレードされました.
ドキュメントの誤字修正.
utf8 はバージョン 1.06 にアップグレードされました.
ドキュメントの誤字修正.
vmsish はバージョン 1.02 にアップグレードされました.
ドキュメントの誤字修正.
warnings はバージョン 1.05 にアップグレードされました.
内部で Carp:: を使うようになりました. .
内部のクリーンアップ.
ドキュメントの更新.
Win32 はバージョン 0.2601 にアップグレードされました.
Win32::GetOSName での Windows Vista サポートの提供.
ドキュメンテーションの強化.
XS::Typemap はバージョン 0.02 にアップグレードされました.
内部のクリーンアップ.
h2xs の強化
h2xs は後方互換モジュールであっても XSLoader の使用を
強制する新しいオプション --use-xsloader を実装しました.
アポストロフィを含んだauthor名の処理が修正されました.
負の値を持つenumはスキップされるようになりました.
perlivp の強化
perlivp は新しいオプション -a を実装しました. そしてデフォルトでは
*.ph ファイルはチェックしなくなります. すべてのテストを走らせる
ためには -a オプションを使うようにしてください.
perlglossary [CPAN] マニュアルページは Perl で使われる技術的な単語その他の 用語集です. 親切な O'Reilly Media, inc. から提供されました.
Nicholas Clark の好意により, 弱(Weak)リファレンスは O(n) ではなく O(1) で生成できるようになりました. 弱リファレンスの削除は 引き続き O(n) ですが, 削除はプログラムの終了時にのみおこるのであれば これは完全にスキップされるでしょう.
Salvador Fandiño が sort におけるメモリ消費削減といくつかの
状況でのスピードアップとの向上を提供してくれました.
実行ファイルの中でオペレーティングシステムがプロセス間で共有できる
割合を増やすために, そしてマルチユーザシステムで実メモリの使用量を
減らすために Jarkko Hietaniemi と Andy Lester は C ソースの中で
出来るだけ多くのデータを static とマークするように動いてくれました.
平行(parallel) make は正常に動作するようになっているでしょう.
make test を平行に実行する事には問題が残りますが.
Win32 において Borland のコンパイラ(群)でのビルドはよりスムーズに なりました. 特に Steve Hay はそれらのコンパイラが発する警告の減少 と, そのうちの少なくとも1つで発生した内部エラーの除去に取り組んで くれました.
Alan Burlison からのパッチのおかげで Configure は clearenv と
unsetenv を検出するようになりました. また, futimes の検出と
sprintf が整形した文字列の長さを正しく返すかどうかの検出も行いますが,
これは perl 5.8.9 で使われます.
next-3.0, vmesa, IX, Darwin, Solaris, Linux, DEC/OSF, HP-UX および MPE/iX でのヒントの改善.
Vadim Konovalov の働きのおかげで Windows において Perl エクステンションを Perl DLL にスタティックにビルドできるようになりました. (これは 実際には 5.8.7 で改善されていますが手違いで perl587delta [CPAN] に 記載されていませんでした.)
これまで -w でグローバルに警告を有効にして実行していると
特定の警告カテゴリを選択して無効にしたときに全ての警告を無効に
してしまっていました. これは修正されました; 現在では no warnings 'io';
は io クラスでの警告のみを無効にします. これまでは間違って全ての
警告を無効にしてしまっていました.
この修正によりいくつかのプログラムが正しく警告を発するようになります.
Perl 5.8.4 はスカラーへの undef の代入, 配列やハッシュへの
空のリストの代入を最適化により除去する変更を施しました.
goto ジャンプを伴うときにはこれが問題となることがあったため,
この処理は取り消されました.
いくつかのフォーマットで sprintf() 関数を使うと特定の条件下で バッファオーバーフローを起こすことがありましたが, 他のいくつかの バグと共に, 特に境界チェックと共に修正されました.
関連する修正として, Sys::Syslog のドキュメントに従っていない
粗悪なコードでフォーマット文字列の脆弱性を持つことがありました.
Sys::Syslog は質の低いサードパーティ製のコードから人々を保護
するように修正されました.
Unicode データの処理を perl のデバッガ上で実行すると思いがけなく 大きな速度低下が見られるとの報告がありました. これに相当する原因は Nicholas Clark によって確認及び修正されました.
FindBin は普通よりアクセス制限のかかっているディレクトリでも
よりよく動作するようになりました.
ithreads におけるいくつかのメモリリークが修正されました.
threads::shared の改善された実装は CPAN で入手可能です -
安定していることが確認されれば 5.8.9 で取り込まれるでしょう.
$! 及び $^E から末尾の空白が取り除かれました.
perl に対してプロセスのグループのリストを要求する様な操作, 例えば
$( と $), は固定サイズの配列ではなく動的に確保したメモリを
使うようになりました. 固定サイズの配列では多くのグループを使うように
設定されているシステムで C スタックの枯渇を引き起こすことがありました.
PerlIO::scalar はデフォルトではない $/ でもよりよく
動作するようになりました.
qw// リストを繰り返すために x 演算子を使うことが出来るように
なりました. これは以前は構文エラーを引き起こしていました.
デバッガは #line ディレクティブを含むコードの eval("") を正しく 追跡するようになりました.
open プラグマの値は3引数のopenで無視されなくなりました.
perl 5.8.6 で導入された for (reverse @a) の最適化は未定義の配列で
かつ LVALUE コンテキストで使われた時に振る舞いを誤る事がありました.
Dave Mitchell により修正が提供されました.
UTF-8 エンコードされたデータと 8 bit 正規表現との, 及びその逆での 大文字小文字を区別しない(case insensitive)いくつかのマッチで 不正な文字(malformed character)警告が発生していました. これらは Dave Mitchell と Yves Orton によって修正されました.
lcfirst 及び ucfirst は大文字, 小文字, タイトル文字(title case)
で UTF-8 エンコーディング時の長さが変わるいくつかのケースにおいて
壊れる頃がありました. これは Nicholas Clark によって修正されました.
C ライブラリコールの unsetenv 及び clearenv を
それが提供されているときには %ENV からのキーの削除や
%ENV の完全な削除で使うようになります.
Alan Burlison からのパッチによるものです.
『解放された配列に長さを設定しようとしました』 これは新しい警告です. 次のような状況で発生します:
$r = do {my @a; \$#a};
$$r = 503;
『文字列でないものがビットマスクとして渡されました』 これは新しい警告です. select() の引数に対してビットマスクではなく 数値が渡されたときに発生します.
# Wrong, will now warn
$rin = fileno(STDIN);
($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
# Should be
$rin = '';
vec($rin,fileno(STDIN),1) = 1;
($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
『検索パターンが終了していないか3項演算子が検索パターンとして
検出されました』 この構文エラーは ?PATTERN? を構成する終わりの
区切り子(delimiter)を字句解析機が見つけられなかったことを意味します.
ここで3項演算子をあげることで構文の確認を行いやすくしています.
C ソースコード上で, 一部は整頓のためとメンテナンス性の向上の
ためにですが, かなりの量のリファクタリングが行われました. 結果として
オブジェクトコードと perl バイナリは 5.8.7 より小さくなりました.
特に, Dave Mitchell によって寄稿された warnings のコードが著しく
小さくなりました. 小さくなったことと速くなった事は別として,
ユーザが認識すべき変更点はありません.
Andy Lester は C コンパイラに対して実質 const として宣言
されるべき関数パラメータとローカル変数の改善を多く提供してくれました.
Steve Peters は新しい *_set マクロを提供し, LVALUE コンテキストにおいて
マクロに代入するのでなくこれを使うようにコアの書き換えを行って
くれました.
Dave Mitchell は -DT における字句解析機のデバッグ出力を
改善してくれました.
Nicholas Clark は文字列バッファの確保を次の4の倍数(64bitポインタの
プラットホームでは8の倍数)に丸めるように変更しました. これにより
実質余分なメモリを使うことなく realloc の回数を削減できます.
HV のもつ HE* の配列は適切な(最小の)サイズを確保するように
なりました. Nicholas Clark のまた別の修正によるものです.
-DPERL_USE_LARGE_HV_ALLOC をつけてコンパイルすることで
これまでのずさんで怠惰な実装を使うことも出来ます.
XS や埋め込みデバッグ用に, perl が -DDEBUG_LEAKING_SCALARS に
加えて -DDEBUG_LEAKING_SCALARS_FORK_DUMP もつけてコンパイル
することでグローバルデストラクションの直前に子プロセスを fork
させる事が出来ます. これによりグローバルデストラクションの終了時に
漏れていた任意のスカラーの値を出力することができます. これが
ない場合には, スカラーは検出した地点では既に十分に解放されていて,
そこでは意味のあるダンプは出力できないでしょう. この機能は
Mike Giroux によるアイデアを根気のいい Nicholas Clark が実装
したものです.
HP-UX 11.23 (Itanium 2) 上の最適化は HP C-ANSI-C を使用している場合に 現在部分的に無効にされています(+O1 にスケールダウン); これは 高レベルの最適化による問題の原因がまだ不明瞭なためです.
VMS において失敗するテストがいくつかあります. これはこのリリースにおいて, 開発ストリームから修正された分の統合のために, 多すぎる依存関係と共にテストの修正や小さなモジュールの修正が 行われたためです. 以下に既知の失敗と, それに気付いて修正された パッチ番号を並べておきます.
ext/Devel/PPPort/t/ppphtest.t #26913
ext/List/Util/t/p_tainted.t #26912
lib/ExtUtils/t/PL_FILES.t #26813
lib/ExtUtils/t/basic.t #26813
t/io/fs.t
t/op/cmp.t
もしバグと思われるものが見つかったら, comp.lang.perl.misc ニュース グループに最近投稿された記事や http://bugs.perl.org にある perl バグデータベースを確認してください. Perl ホームページ, http://www.perl.org にも情報はあります.
もしまだ報告されていないバグだと確信したら, そのリリースに含まれている
perlbug プログラムをを実行してください. バグの再現スクリプトを
十分小さく, しかし有効なコードに切りつめることを意識してください.
バグレポートは perl -V の出力と一緒に perlbug@perl.org に送られ
Perl porting チームによって解析されます. Perl 5 のバグについては
http://bugs.perl.org/ で閲覧及び検索することができます.
Changes には完全な変更箇所があります.
INSTALL には Perl をビルドする方法があります.
README には一般的な事項があります.
Artistic 及び Copying には著作権情報があります.
山科 氷魚 (YAMASHINA Hio) <hio@hio.jp>
原典: perl VERSION 5.8.8. 翻訳日: 2006-02-04.