[perldocjp-cvs 274] CVS update: docs/perl/5.10.0

Back to archive index

argra****@users***** argra****@users*****
2008年 6月 12日 (木) 04:36:31 JST


Index: docs/perl/5.10.0/perlfaq4.pod
diff -u docs/perl/5.10.0/perlfaq4.pod:1.6 docs/perl/5.10.0/perlfaq4.pod:1.7
--- docs/perl/5.10.0/perlfaq4.pod:1.6	Sun Jun  8 05:24:47 2008
+++ docs/perl/5.10.0/perlfaq4.pod	Thu Jun 12 04:36:31 2008
@@ -1,3 +1,6 @@
+
+=encoding euc-jp
+
 =head1 NAME
 
 =begin original
@@ -1343,12 +1346,10 @@
 
 文字の組(または文字の並び)を探して、それを一つの実体に置き換えるには
 置換演算子が使えます。
-In this
-substitution, we find a character in C<(.)>. The memory parentheses
-store the matched character in the back-reference C<\1> and we use
-that to require that the same thing immediately follow it.
+この置換で、C<(.)> で一文字が見付かります。
+記憶用のかっこはマッチングした文字を後方参照 C<\1> に保管し、
+同じ文字を直後に要求するために使います。
 文字列の一部を C<$1> にある文字で置き換えます。
-(TBT)
 
 	s/(.)\1/$1/g;
 
@@ -1419,12 +1420,11 @@
 =end original
 
 スカラコンテキストで関数を呼び出したい場合、もう少し作業が必要です。
-We can really have any code we like inside the braces, so
-we simply have to end with the scalar reference, although how you do
-that is up to you, and you can use code inside the braces.
+実際に置きたいどんなコードでも中かっこの中に置けるので、
+(それをどのようにするかはあなた次第で、中かっこのなかのコードを使えますが)
+単にスカラリファレンスで終了する必要があります。
 かっこはリストコンテキストを作成するので、関数内でスカラコンテキストを
-強制するために C<scalar> であることに注意してください:
-(TBT)
+強制するために C<scalar> が必要であることに注意してください:
 
 	print "The time is ${\(scalar localtime)}.\n"
 
@@ -2336,11 +2336,9 @@
 
 =end original
 
-However, for the one-off simple case where I don't want to pull out a
-full templating system, I'll use a string that has two Perl scalar
-variables in it.
+しかし、完全なテンプレートシステムを引っ張り出したくないような一度限りの
+簡単な場合には、内部に二つの Perl スカラ変数を持つ文字列を使います。
 この例では、C<$foo> と C<$bar> をその変数の値に展開したいとします:
-(TBT)
 
 	my $foo = 'Fred';
 	my $bar = 'Barney';
@@ -2377,11 +2375,10 @@
 
 C</e> は暗黙のうちに struct 違反を無視するので、未定義の変数名を
 空文字列に置き換えます。
-C</e> フラグを (2 回も!) 使っているので、
-I have all of the same security problems I have with C<eval> in its string form.
+C</e> フラグを (2 回も!) 使っているので、C<eval> を文字列の形で使うのと
+同じセキュリティ問題を全て抱えています。
 もし C<$foo> に(おそらく C<@{[ system "rm -rf /" ]}> のような)変なものが
 入っていたら、トラブルに出会うことになります。
-(TBT)
 
 =begin original
 
@@ -4008,12 +4005,14 @@
 
 =end original
 
-The C<each()> operator can be a bit tricky though. You can't add or
+しかし、C<each()> 演算子は少しトリッキーです。
+You can't add or
 delete keys of the hash while you're using it without possibly
 skipping or re-processing some pairs after Perl internally rehashes
-all of the elements. Additionally, a hash has only one iterator, so if
-you use C<keys>, C<values>, or C<each> on the same hash, you can reset
-the iterator and mess up your processing.
+all of the elements.
+さらに、一つのハッシュは一つのイテレータしか持っていないので、もし同じ
+ハッシュに対して C<keys>, C<values>, C<each> を使うと、イテレータを
+リセットしてしまって処理が無茶苦茶になってしまいます。
 さらなる詳細については L<perlfunc> の C<each> エントリを参照してください。
 (TBT)
 
@@ -4185,11 +4184,10 @@
 
 =end original
 
-For instance, to make our report order case-insensitive, we use
-the C<\L> sequence in a double-quoted string to make everything
-lowercase. The C<sort()> block then compares the lowercased
-values to determine in which order to put the keys.
-(TBT)
+例えば、大文字小文字を無視した順序のレポートを作るには、全てを小文字に
+するためにダブルクォートされた文字列の中で C<\L> シーケンスが使えます。
+それから C<sort()> ブロックがキーを出力する順番を決定するために小文字化された
+値を比較します。
 
 	my @keys = sort { "\L$a" cmp "\L$b" } keys %hash;
 
Index: docs/perl/5.10.0/perlfaq5.pod
diff -u docs/perl/5.10.0/perlfaq5.pod:1.4 docs/perl/5.10.0/perlfaq5.pod:1.5
--- docs/perl/5.10.0/perlfaq5.pod:1.4	Sun Jun  8 05:24:48 2008
+++ docs/perl/5.10.0/perlfaq5.pod	Thu Jun 12 04:36:31 2008
@@ -343,11 +343,9 @@
 
 =end original
 
-Modules such as C<File::Slurp> and C<Tie::File> can help with that
-too. If you can, however, avoid reading the entire file at once. Perl
-won't give that memory back to the operating system until the process
-finishes.
-(TBT)
+C<File::Slurp> や C<Tie::File> のようなモジュールもこの助けになります。
+しかし、もし可能なら、ファイル全体を一度に読み込むのは避けてください。
+Perl は OS から確保したメモリを、プロセスが終わるまで返しません。
 
 =begin original
 
@@ -361,14 +359,14 @@
 
 =end original
 
-You can also use Perl one-liners to modify a file in-place. The
-following changes all 'Fred' to 'Barney' in F<inFile.txt>, overwriting
-the file with the new contents. With the C<-p> switch, Perl wraps a
-C<while> loop around the code you specify with C<-e>, and C<-i> turns
-on in-place editing. The current line is in C<$_>. With C<-p>, Perl
-automatically prints the value of C<$_> at the end of the loop. See
-L<perlrun> for more details.
-(TBT)
+ファイルをその場で変更するために、Perl の一行野郎も使えます。
+以下の例では、F<inFile.txt> にある全ての 'Fred' を 'Barney' に変更し、
+ファイルを新しい内容で上書きします。
+C<-p> スイッチ付きの場合、C<-e> で指定したコードを C<while> ループで包み、
+C<-i> はその場編集を有効にします。
+現在行は C<$_> に入っています。
+C<-p> があると、Perl はループの最後に C<$_> の値を自動的に表示します。
+さらなる詳細については L<perlrun> を参照してください。
 
 	perl -pi -e 's/Fred/Barney/' inFile.txt
 
@@ -740,11 +738,10 @@
 
 =end original
 
-As of perl5.6, open() autovivifies file and directory handles
-as references if you pass it an uninitialized scalar variable.
-You can then pass these references just like any other scalar,
-and use them in the place of named handles.
-(TBT)
+perl5.6 から、open() にファイルハンドルやディレクトリハンドルとして未定義の
+スカラ変数を渡すと、これをリファレンスとして自動有効化します。
+その後これらのリファレンスはその他のスカラと同じように扱え、名前付き
+ハンドルを指定する場所で使えます。
 
 	open my    $fh, $file_name;
 
@@ -764,7 +761,7 @@
 
 =end original
 
-If you like, you can store these filehandles in an array or a hash.
+お好みなら、これらのファイルハンドルを配列やハッシュに保管することもできます。
 If you access them directly, they aren't simple scalars and you
 need to give C<print> a little help by placing the filehandle
 reference in braces. Perl can only figure it out on its own when
@@ -1050,10 +1047,8 @@
 
 =end original
 
-Perl 5.8.0 から、you can pass a reference to a scalar instead of the
-filename to create a file handle which you can used to read from or write to
-a string:
-(TBT)
+Perl 5.8.0 から、文字列を読み書きできるファイルハンドルを作るために、
+ファイル名の変わりにスカラへのリファレンスを渡せます:
 
 	open(my $fh, '>', \$string) or die "Could not open string for writing";
 	print $fh "foo\n";
@@ -1095,10 +1090,8 @@
 =end original
 
 数値を区切るために L<Number::Format> が使えます。
-It handles locale information for those of you who want to insert
-full stops instead (or anything else that they want to use,
-really).
-(TBT)
+これは代わりにピリオド(または実際のところは使いたいもの何でも)を
+挿入したい人のために、ロケール情報を扱います。
 
 =begin original
 
@@ -1753,10 +1746,9 @@
 
 =end original
 
-If you know you are only going to use a system that does correctly
-implement appending (i.e. not Win32) then
-以前の答えのコードから the seek() を省略できます。
-(TBT)
+正しく追加を実装している(つまり Win32 ではない)システムを
+利用しているとわかっている場合のみ、以前の答えのコードから seek() を
+省略できます。
 
 =begin original
 
@@ -1791,12 +1783,11 @@
 
 =end original
 
-There is still a small theoretical chance that a signal will interrupt
-the system level write() operation before completion.  There is also a
-possibility that some STDIO implementations may call multiple system
-level write()s even if the buffer was empty to start.  There may be some
-systems where this probability is reduced to zero.
-(TBT)
+未だに、理論的にはシステムレベルの write() 操作が終了前にシグナルが割り込む
+可能性が少しあります。
+STDIO の実装によっては、バッファが空からスタートしても、複数のシステム
+レベルの write() を呼び出すものがある可能性があります。
+この確率を 0 にしているシステムもあるかもしれません。
 
 =head2 How do I randomly update a binary file?
 X<file, binary patch>
@@ -2114,9 +2105,8 @@
 
 =end original
 
-3 番目の引数は tests the byte size of the data on the INPUT filehandle
-and reads that many bytes into the buffer $var.
-(TBT)
+3 番目の引数は INPUT ファイルハンドルのデータのバイトサイズをテストし、
+そのバイト数だけバッファ $var に読み込みます。
 
 =head2 How can I read in a file by paragraphs?
 X<file, reading by paragraphs>
@@ -2492,10 +2482,9 @@
 
 =end original
 
-If, for some reason, you have a file descriptor instead of a
-filehandle (perhaps you used C<POSIX::open>), you can use the
-C<close()> function from the C<POSIX> module:
-(TBT)
+もし、何らかの理由で、ファイルハンドルではなくファイル記述子を持っている場合
+(おそらく C<POSIX::open> を使ったのでしょう)、C<POSIX> モジュールの
+C<close()> 関数が使えます:
 
 	use POSIX ();
 	
@@ -2510,7 +2499,7 @@
 
 =end original
 
-Perl の close() 関数は、先の例にあった C<MHCNOTEXT> のように数値
+Perl の C<close()> 関数は、先の例にあった C<MHCNOTEXT> のように数値
 記述子を使って dup したものでさえも含めて、
 Perl 自身がオープンしたものに対して使うことができますから、
 その必要はほとんどないはずです。
Index: docs/perl/5.10.0/perlfaq6.pod
diff -u docs/perl/5.10.0/perlfaq6.pod:1.3 docs/perl/5.10.0/perlfaq6.pod:1.4
--- docs/perl/5.10.0/perlfaq6.pod:1.3	Sun Jun  8 05:24:48 2008
+++ docs/perl/5.10.0/perlfaq6.pod	Thu Jun 12 04:36:31 2008
@@ -385,10 +385,9 @@
 
 =end original
 
-You can do the same thing with foreach and a match using the
-c flag and the \G anchor, if you do not mind your entire file
-being in memory at the end.
-(TBT)
+もしファイル全体を最後までメモリに入れることを気にしないのなら、
+foreach および、c フラグと \G アンカーを使ったマッチングを使って
+同じことができます。
 
 	local $_ = "";
 	while( sysread FH, $_, 8192, length ) {
@@ -398,7 +397,6 @@
 	substr( $_, 0, pos ) = "" if pos;
 	}
 
-
 =head2 How do I substitute case insensitively on the LHS while preserving case on the RHS?
 X<replace, case preserving> X<substitute, case preserving>
 X<substitution, case preserving> X<s, case preserving>
@@ -467,9 +465,8 @@
 
 =end original
 
-As an alternative, to keep the case of the replacement word if it is
-longer than the original, you can use this code, by Jeff Pinyan:
-(TBT)
+代替案として、もし元のものの方が長い場合には置き換え単語の大文字小文字を
+維持する場合は、Jeff Pinyan による以下のコードが使えます:
 
 	sub preserve_case {
 		my ($from, $to) = @_;
@@ -503,11 +500,10 @@
 もしもっと C っぽい解決法が好みなら、
 以下に挙げるスクリプトは、大小文字の違いを保ったまま、
 文字毎に置換を行ないます。
-(そしてこれは Perl っぽい解法より 240% 遅いです。
-)
-置換対象の文字列より
-も多くのキャラクターが置換後の文字列にあるのであれば、最後のキャラクターの
-大小文字の種別が置換後の文字列の残りの部分のキャラクターに対して使われます。
+(そしてこれは Perl っぽい解法より 240% 遅いです。)
+置換対象の文字列よりも多くの文字が置換後の文字列にあるのであれば、
+最後の文字の大小文字の種別が置換後の文字列の残りの部分の
+文字に対して使われます。
 
 	# Original by Nathan Torkington, massaged by Jeffrey Friedl
 	#
@@ -589,12 +585,10 @@
 
 =end original
 
-No matter which locale you are in, the alphabetic characters are
-the characters in \w without the digits and the underscore.
-As a regex, that looks like C</[^\W\d_]/>.  Its complement,
-the non-alphabetics, is then everything in \W along with
-the digits and the underscore, or C</[\W\d_]/>.
-(TBT)
+あなたがどこにいるかに関わらず、英文字は \w から数字と下線を除いたものです。
+正規表現としては、これは C</[^\W\d_]/> のようになります。
+その逆である非英字は、\W に含まれる全ての文字に数字と下線を加えたもの、
+つまり C</[\W\d_]/> です。
 
 =head2 How can I quote a variable to use in a regex?
 X<regex, escaping> X<regexp, escaping> X<regular expression, escaping>
@@ -683,11 +677,10 @@
 
 =end original
 
-The C</o> option for regular expressions (documented in L<perlop> and
-L<perlreref>) tells Perl to compile the regular expression only once.
-This is only useful when the pattern contains a variable. Perls 5.6
-and later handle this automatically if the pattern does not change.
-(TBT)
+正規表現の C</o> オプション (L<perlop> と L<perlreref> で文書化されています)
+は、正規表現を一度だけコンパイルするように Perl に伝えます。
+これはパターンに変数が含まれている場合にのみ有用です。
+Perls 5.6 以降では、パターンが変わらない場合はこれを自動的に扱います。
 
 =begin original
 
@@ -751,13 +744,11 @@
 
 =end original
 
-In versions 5.6 and later, Perl won't recompile the regular expression
-if the variable hasn't changed, so you probably don't need the C</o>
-option. It doesn't hurt, but it doesn't help either. If you want any
-version of Perl to compile the regular expression only once even if
-the variable changes (thus, only using its initial value), you still
-need the C</o>.
-(TBT)
+バージョン 5.6 以降では、変数が変更されていない場合は Perl は正規表現を
+再コンパイルしませんので、おそらく C</o> は不要です。
+害はもたらしませんが、助けにもなりません。
+どのバージョンでも、たとえ変数の値が変わっても正規表現を一度だけ
+コンパイルするようにしたい場合は、未だに C</o> が必要です。
 
 =begin original
 
@@ -774,8 +765,8 @@
 yourself if Perl is recompiling a regular expression. The C<use re
 'debug'> pragma (comes with Perl 5.005 and later) shows the details.
 With Perls before 5.6, you should see C<re> reporting that its
-compiling the regular expression on each iteration. With Perl 5.6 or
-later, you should only see C<re> report that for the first iteration.
+compiling the regular expression on each iteration.
+Perl 5.6 以降では、最初の反復でのみ C<re> レポートを見るでしょう。
 (TBT)
 
 	use re 'debug';
@@ -814,7 +805,7 @@
 
 =end original
 
-そう、これはCのプログラムを簡単に考えすぎているのです。
+そう、これは C のプログラムを簡単に考えすぎているのです。
 特に、クォートされた文字列にコメントが出現するということを考慮していません。
 このため、Jeffrey Friedl が作成し,
 後に Fred Curtis によって修正された次の例のようなことが必要になります。
@@ -831,7 +822,7 @@
 
 =end original
 
-もちろんこれは、C</x>修飾子を使って空白やコメントを付加することで、
+もちろんこれは、C</x> 修飾子を使って空白やコメントを付加することで、
 より読みやすくすることが可能です。
 以下は Fred Curtis の提供による拡張版です。
 
@@ -888,7 +879,7 @@
 X<regex, matching balanced test> X<regexp, matching balanced test>
 X<regular expression, matching balanced test>
 
-(Perl の正規表現をテキストのバランスが取れているかを検査するために使えますか?)
+(Perl の正規表現をバランスされたテキストのマッチングに使えますか?)
 
 =begin original
 
@@ -902,15 +893,14 @@
 
 =end original
 
-歴史的に、Perl の正規表現はバランスの取られたテキストをマッチングする
+歴史的に、Perl の正規表現はバランスされたテキストをマッチングする
 能力はありませんでした。
-As of more recent versions of perl including 5.6.1
-experimental features have been added that make it possible to do this.
-Look at the documentation for the (??{ }) construct in recent perlre manual
-pages to see an example of matching balanced parentheses.  Be sure to take
-special notice of the  warnings present in the manual before making use
-of this feature.
-(TBT)
+5.6.1 以降の最近の perl では、これを行えるようにする実験的機能が
+追加されています。
+バランスの取られたかっこにマッチングする例を見るには、最近の
+perlre マニュアルページの (??{ }) 構造のドキュメントを見てください。
+この機能を使う前に、マニュアルにある警告について特に注意するように
+してください。
 
 =begin original
 
@@ -921,11 +911,10 @@
 
 =end original
 
-CPAN contains many modules that can be useful for matching text
-depending on the context.  Damian Conway provides some useful
-patterns in Regexp::Common.  The module Text::Balanced provides a
-general solution to this problem.
-(TBT)
+CPAN には、コンテキストに依存したテキストにマッチングするために有用な
+多くのモジュールがあります。
+Damian Conway は Regexp::Common でいくつかの有用なパターンを提供しています。
+Text::Balanced もじゅーるはこの問題に対する一般的な解決法を提供します。
 
 =begin original
 
@@ -936,11 +925,11 @@
 
 =end original
 
-One of the common applications of balanced text matching is working
-with XML and HTML.  There are many modules available that support
-these needs.  Two examples are HTML::Parser and XML::Parser. There
-are many others.
-(TBT)
+バランスされたテキストのマッチングのよくある活用法のひとつは XML と HTML に
+対する作業です。
+これらのニーズに対応する多くのモジュールが利用可能です。
+2 つの例は HTML::Parser と XML::Parser です。
+その他にもたくさんあります。
 
 =begin original
 
@@ -954,7 +943,7 @@
 ネストする可能性のある C<`> と C<'>, C<{> と C<}>, C<(> と C<)> のような
 単一キャラクタのバランスを検査するための精巧なサブルーチンが、
 http://www.cpan.org/authors/id/TOMC/scripts/pull_quotes.gz
-にあります(7-bit ASCII専用)。
+にあります(7-bit ASCII 専用)。
 
 =begin original
 
@@ -963,7 +952,7 @@
 
 =end original
 
-CPANにある C::Scan モジュールもこのようなサブルーチンを内部的に
+CPAN にある C::Scan モジュールもこのようなサブルーチンを内部的に
 使っているのですが、ドキュメントには載っていません。
 
 =head2 What does it mean that regexes are greedy?  How can I get around it?
@@ -984,8 +973,8 @@
 ほとんどの人が、欲張り正規表現(greedy regexps)は可能な限りマッチすると
 考えています。
 技術的には、量指定子(C<?>, C<*>, C<+>, C<{}>) はパターン全体よりも貪欲です。
-Perlは local greed であることを好み、全体の要求を即座に満足させます。
-同じ量指定子のnon-greedyバージョンを得るには、
+Perl は、全体的な貪欲性よりも局所貪欲性と即時の満足性を好みます。
+同じ量指定子の non-greedy バージョンを得るには、
 C<??>, C<*?>, C<+?>, C<{}?>を使います。
 
 =begin original
@@ -1012,7 +1001,7 @@
 
 二番目の置換が、“y ”を見つけてすぐにマッチングを中断していることに
 注目してください。
-量指定子 C<*?>は正規表現エンジンに対して、
+量指定子 C<*?> は正規表現エンジンに対して、
 あなたが熱いジャガイモを扱っているときのように、可能な限り早く
 マッチするものを見つけて制御を次の行に渡すように効果的に指示します。
 
@@ -1027,7 +1016,7 @@
 
 =end original
 
-split関数を使います:
+split 関数を使います:
 
 	while (<>) {
 		foreach $word ( split ) {
@@ -1043,7 +1032,7 @@
 =end original
 
 これは実際には英語でいうところの語ではないことに注意してください。
-これは、単なる連続した空白でないキャラクターの塊です。
+これは、単なる連続した空白でない文字の塊です。
 
 =begin original
 
@@ -1062,7 +1051,7 @@
 
 =head2 How can I print out a word-frequency or line-frequency summary?
 
-(語の出現頻度や行の出現頻度のまとめをどうやれば出力できますか?)
+(語の出現頻度や行の出現頻度のまとめを出力するには?)
 
 =begin original
 
@@ -1075,7 +1064,7 @@
 
 これを行うためには、入力ストリームにある単語のそれぞれについて解析する
 必要があります。
-私たちはここで、一つ前の質問と同様に、非空白キャラクターの塊を語と
+私たちはここで、一つ前の質問と同様に、非空白文字の塊を語と
 するのではなく、アルファベット、ハイフン、アポストロフィ、の塊を語とします:
 
 	while (<>) {
@@ -1118,7 +1107,7 @@
 =head2 How can I do approximate matching?
 X<match, approximate> X<matching, approximate>
 
-(曖昧なマッチング (approximate matching)はどうやればできますか?)
+(曖昧なマッチング (approximate matching) はどうやればできますか?)
 
 =begin original
 
@@ -1126,7 +1115,7 @@
 
 =end original
 
-CPANで入手できる String::Approx モジュールを参照してください。
+CPAN で入手できる String::Approx モジュールを参照してください。
 
 =head2 How do I efficiently match many regular expressions at once?
 X<regex, efficiency> X<regexp, efficiency>
@@ -1151,11 +1140,9 @@
 
 =end original
 
-Avoid asking Perl to compile a regular expression every time
-you want to match it.  In this example, perl must recompile
-the regular expression for every iteration of the foreach()
-loop since it has no way to know what $pattern will be.
-(TBT)
+マッチングを行う毎に Perl が正規表現をコンパイルすることを避けてください。
+この例の場合、$pattern が何者なのかを知る方法がないので、perl は foreach()
+ループの反復毎に正規表現を再コンパイルしなければなりません。
 
 	@patterns = qw( foo bar baz );
 
@@ -1182,13 +1169,12 @@
 
 =end original
 
-The qr// operator showed up in perl 5.005.  It compiles a
-regular expression, but doesn't apply it.  When you use the
-pre-compiled version of the regex, perl does less work. In
-this example, I inserted a map() to turn each pattern into
-its pre-compiled form.  The rest of the script is the same,
-but faster.
-(TBT)
+qr// 演算子は perl 5.005 で現れました。
+これは正規表現をコンパイルしますが、適用はしません。
+プリコンパイルされた正規表現を使うと、perl の作業は減ります。
+この例では、各パターンをプリコンパイルされた形式に変換するための map() を
+挿入しています。
+スクリプトの残りの部分は同じですが、より速いです。
 
 	@patterns = map { qr/\b$_\b/i } qw( foo bar baz );
 
@@ -1209,10 +1195,8 @@
 
 =end original
 
-In some cases, you may be able to make several patterns into
-a single regular expression.
+いくつかの場合では、複数のパターンを一つの正規表現にできるかもしれません。
 しかし、バックトラッキングが必要になる状況に注意してください。
-(TBT)
 
 	$regex = join '|', qw( foo bar baz );
 
@@ -1241,7 +1225,7 @@
 =head2 Why don't word-boundary searches with C<\b> work for me?
 X<\b>
 
-(なぜ C<\b> を使った語境界の検索がうまく行かないのでしょうか?)
+(なぜ C<\b> を使った単語境界の検索がうまく行かないのでしょうか?)
 
 =begin original
 
@@ -1273,9 +1257,8 @@
 
 =end original
 
-It's not (not!) the boundary between whitespace and non-whitespace,
-and it's not the stuff between words we use to create sentences.
-(TBT)
+これは空白と非空白との境界ではなく(違うんです!)、私たちが文を作るのに
+使う単語の間のものではありません。
 
 =begin original
 
@@ -1285,10 +1268,8 @@
 
 =end original
 
-In regex speak, a word boundary (\b) is a "zero width assertion",
-meaning that it doesn't represent a character in the string, but a
-condition at a certain position.
-(TBT)
+正規表現的に言うと、単語境界は (\b) は「ゼロ幅アサーション」です;
+これは文字列中の文字ではなく、ある位置での条件を表現しています。
 
 =begin original
 
@@ -1352,9 +1333,7 @@
 
 =end original
 
-You can also use the complement of \b, \B, to specify that there
-should not be a word boundary.
-(TBT)
+単語境界ではないということを指定するために、\b の逆である \B も使えます。
 
 =begin original
 
@@ -1380,10 +1359,11 @@
 	"Sam"      # no word boundary before "a", but one after "m"
 	"I am Sam" # "am" surrounded by non-word chars
 
-
 =head2 Why does using $&, $`, or $' slow my program down?
 X<$MATCH> X<$&> X<$POSTMATCH> X<$'> X<$PREMATCH> X<$`>
 
+(なぜ $&, $`, $' を使うとプログラムが遅くなるの?)
+
 =begin original
 
 (contributed by Anno Siegel)
@@ -1413,13 +1393,13 @@
 that on every pattern match the entire string will be copied, part of it
 to $`, part to $&, and part to $'. Thus the penalty is most severe with
 long strings and patterns that match often.
-可能であれば $&や$'、$`を使わないようにすべきなのですが、
+可能であれば $& や $'、$` を使わないようにすべきなのですが、
 それができないのであれば、
 一度これらの変数を使ってしまったら好きなように使いましょう。
 なぜなら、罰金はすでに払ってしまったのですから。
 アルゴリズムの中にはこういった変数を使うことが適切であるものが
 あるということに注意してください。
-リリース5.005では、$&はもはや“高価な”ものではありません。
+リリース 5.005 からは、$& はもはや“高価な”ものではありません。
 (TBT)
 
 =begin original
@@ -1434,11 +1414,10 @@
 
 Perl 5.6.1 から、特殊変数 @- と @+ で $`, $&, $' の機能を
 置き換えられるようになりました。
-These arrays contain pointers to the beginning and end
-of each match (see perlvar for the full story), so they give you
-essentially the same information,
+これらの配列はそれぞれのマッチングの開始位置と終了位置へのポインタを
+含みます(詳しい話については perlvar を参照してください)ので、
+本質的にはこれらから同じ情報が得られますが、
 過度の文字列コピーのリスクはありません。
-(TBT)
 
 =head2 What good is C<\G> in a regular expression?
 X<\G>
@@ -1677,10 +1656,10 @@
 問題は、grep はそのコンテキストには関係なくリストを返すことです。
 これはつまり、Perl にあなたが無視してしまうための戻り値のリストを
 作らせるということです。
-If the list is large, you waste both time and space.
-If your intent is to iterate over the list, then use a for loop for this
-purpose.
-(TBT)
+もしリストが大きいなら、時間とメモリの両方を無駄にします。
+あなたの目的がリスト全体に対して反復することなら、for ループを
+使ってください。
+
 
 =begin original
 
@@ -1710,12 +1689,11 @@
 
 =end original
 
-Starting from Perl 5.6 Perl has had some level of multibyte character
-support.  Perl 5.8 or later is recommended.  Supported multibyte
-character repertoires include Unicode, and legacy encodings
-through the Encode module.  See L<perluniintro>, L<perlunicode>,
-and L<Encode>.
-(TBT)
+Perl 5.6 から、Perl にはあるレベルのマルチバイト文字サポートがあります。
+Perl 5.8 以降を推奨します。
+対応するマルチバイト文字のレパートリーには、Unicode と、Encode モジュール
+経由のレガシーエンコーディングを含みます。
+L<perluniintro>, L<perlunicode>, L<Encode> を参照してください。
 
 =begin original
 
@@ -1728,8 +1706,9 @@
 
 If you are stuck with older Perls, you can do Unicode with the
 C<Unicode::String> module, and character conversions using the
-C<Unicode::Map8> and C<Unicode::Map> modules.  If you are using
-Japanese encodings, you might try using the jperl 5.005_03.
+C<Unicode::Map8> and C<Unicode::Map> modules.  
+日本語エンコーディングを使っているなら、jperl 5.005_03 を使ってみたいかも
+しれません。
 (TBT)
 
 =begin original
@@ -1740,7 +1719,7 @@
 
 =end original
 
-以下に、The Perl Journal の第五号でこの問題についてより詳しい記事を書いた
+最後に、The Perl Journal の第五号でこの問題についてより詳しい記事を書いた
 Jeffery Friedl により提案された手法の幾つかを挙げます。
 
 =begin original
@@ -1791,7 +1770,7 @@
 
 =end original
 
-この問題に対処する方法が、うんざりするようなものですが、幾つかあります:
+この問題に対処する方法が、どれもうんざりするようなものですが、幾つかあります:
 
 	# Make sure adjacent "martian" bytes are no longer adjacent.
 	$martian =~ s/([A-Z][A-Z])/ $1 /g;
@@ -1832,9 +1811,8 @@
 
 =end original
 
-Here's another, slightly less painful, way to do it from Benjamin
-Goldberg, who uses a zero-width negative look-behind assertion.
-(TBT)
+以下は Benjamin Goldberg による、同じことをもう少しましに行うもので、
+ゼロ幅負前方参照アサーションを使っています。
 
 	print "found GX!\n" if	$martian =~ m/
 		(?<![A-Z])
@@ -1862,9 +1840,8 @@
 
 =end original
 
-It does have the drawback of putting the wrong thing in $-[0] and $+[0],
-but this usually can be worked around.
-(TBT)
+これには $-[0] と $+[0] に間違ったものが入るという欠点がありますが、普通
+これは回避できます。
 
 =head2 How do I match a regular expression that's in a variable?
 X<regex, in variable> X<eval> X<regex> X<quotemeta> X<\Q, regex>
@@ -1888,10 +1865,9 @@
 
 =end original
 
-We don't have to hard-code patterns into the match operator (or
-anything else that works with regular expressions). We can put the
-pattern in a variable for later use.
-(TBT)
+マッチング演算子(あるいはその他の正規表現として働くもの)にパターンを
+ハードコーディングする必要はありません。
+後で使うためにパターンを変数に入れることができます。
 
 =begin original
 
@@ -1939,10 +1915,9 @@
 
 =end original
 
-When Perl compiles the regular expression, it treats the parenthesis
-as the start of a memory match. When it doesn't find the closing
-parenthesis, it complains:
-(TBT)
+Perl が正規表現をコンパイルする時に、かっこをマッチング記憶の開始として
+扱います。
+閉じかっこが見つからないと、警告が出ます:
 
 	Unmatched ( in regex; marked by <-- HERE in m/Unmatched ( <-- HERE  paren/ at script line 3.
 
@@ -1954,10 +1929,9 @@
 
 =end original
 
-You can get around this in several ways depending on our situation.
-First, if you don't want any of the characters in the string to be
-special, you can escape them with C<quotemeta> before you use the string.
-(TBT)
+状況に依存して、いくつかの方法でこれを回避できます。
+まず、文字列中のどの文字も特別ではないなら、文字列を使う前に
+C<quotemeta> でエスケープできます。
 
 	chomp( my $regex = <STDIN> );
 	$regex = quotemeta( $regex );
@@ -1973,11 +1947,11 @@
 
 =end original
 
-You can also do this directly in the match operator using the C<\Q>
-and C<\E> sequences. The C<\Q> tells Perl where to start escaping
-special characters, and the C<\E> tells it where to stop (see L<perlop>
-for more details).
-(TBT)
+C<\Q> と C<\E> のシーケンスを使うことで、これをマッチング演算子の中で直接
+行うこともできます。
+C<\Q> は Perl に特殊文字のエスケープを開始する位置を示し、C<\E> はそれを
+終了する位置を示します (さらなる詳細については L<perlop> を
+参照してください)。
 
 	chomp( my $regex = <STDIN> );
 
@@ -1991,10 +1965,10 @@
 
 =end original
 
-Alternately, you can use C<qr//>, the regular expression quote operator (see
-L<perlop> for more details).  It quotes and perhaps compiles the pattern,
-and you can apply regular expression flags to the pattern.
-(TBT)
+あるいは、正規表現クォート演算子である C<qr//> が使えます(さらなる
+詳細については L<perlop> を参照してください)。
+これはパターンをクォートし、おそらくはコンパイルされます;
+また、パターンに正規表現フラグを適用できます。
 
 	chomp( my $input = <STDIN> );
 
@@ -2009,9 +1983,8 @@
 
 =end original
 
-You might also want to trap any errors by wrapping an C<eval> block
-around the whole thing.
-(TBT)
+全体を C<eval> ブロックで包むことで全てのエラーをトラップしたいかも
+しれません。
 
 	chomp( my $input = <STDIN> );
 
Index: docs/perl/5.10.0/perlfaq7.pod
diff -u docs/perl/5.10.0/perlfaq7.pod:1.3 docs/perl/5.10.0/perlfaq7.pod:1.4
--- docs/perl/5.10.0/perlfaq7.pod:1.3	Sun Jun  8 05:24:48 2008
+++ docs/perl/5.10.0/perlfaq7.pod	Thu Jun 12 04:36:31 2008
@@ -1,3 +1,6 @@
+
+=encoding euc-jp
+
 =head1 NAME
 
 =begin original
@@ -245,10 +248,9 @@
 =end original
 
 さらに、警告の分野毎に警告を有効または無効にできます。
-You turn off the categories you want to ignore and you can still
-get other categories of warnings.  See L<perllexwarn> for the
-complete details, including the category names and hierarchy.
-(TBT)
+無視したいカテゴリを無効にしても、残りのカテゴリの警告は受けられます。
+カテゴリ名と階層を含む、完全な詳細については L<perllexwarn> を
+参照してください。
 
 	{
 	no warnings 'uninitialized';
@@ -451,8 +453,9 @@
 
 =end original
 
-L<perlmod>, L<perlmodlib>, L<perlmodstyle> explain modules
-in all the gory details. L<perlnewmod> gives a brief
+L<perlmod>, L<perlmodlib>, L<perlmodstyle> はモジュールに関する全ての
+不愉快な詳細について説明しています。
+L<perlnewmod> gives a brief
 overview of the process along with a couple of suggestions
 about style.
 (TBT)
@@ -466,11 +469,11 @@
 
 =end original
 
-If you need to include C code or C library interfaces in
-your module, you'll need h2xs.  h2xs will create the module
-distribution structure and the initial interface files
-you'll need.  L<perlxs> and L<perlxstut> explain the details.
-(TBT)
+もしモジュールに C コードや C ライブラリインターフェースを含めたいなら、
+h2xs が必要です。
+h2xs は必要になるモジュール配布構造と初期インターフェースファイルを
+作成します。
+L<perlxs> と L<perlxstut> は詳細を説明しています。
 
 =begin original
 
@@ -544,9 +547,8 @@
 
 =end original
 
-Get a login for the Perl Authors Upload Server (PAUSE) if you don't
-already have one: http://pause.perl.org
-(TBT)
+まだ持っていないなら、the Perl Authors Upload Server (PAUSE) のアカウントを
+取ります: http://pause.perl.org
 
 =item
 
@@ -777,7 +779,8 @@
 
 =end original
 
-Another use for a closure is to make a variable I<private> to a
+もう一つのクロージャの使用法は
+to make a variable I<private> to a
 named subroutine, e.g. a counter that gets initialized at creation
 time of the sub and can only be modified from within the sub.
 This is sometimes used with a BEGIN block in package files to make
@@ -850,7 +853,7 @@
 
 =end original
 
-If you are experiencing variable suicide, that C<my $f> in the subroutine
+もし変数の自殺に遭遇したら、that C<my $f> in the subroutine
 doesn't pick up a fresh copy of the C<$f> whose value is <foo>. The output
 shows that inside the subroutine the value of C<$f> leaks through when it
 shouldn't, as in this output:
@@ -1139,10 +1142,8 @@
 
 =end original
 
-Perl doesn't have "static" variables, which can only be accessed from
-the function in which they are declared.
+Perl には、宣言された関数からのみアクセスできる "静的" 変数はありません。
 しかし、レキシカル変数によって同じ効果が得られます。
-(TBT)
 
 =begin original
 
@@ -1163,16 +1164,19 @@
 =end original
 
 You can fake a static variable by using a lexical variable which goes
-out of scope. In this example, you define the subroutine C<counter>, and
-it uses the lexical variable C<$count>. Since you wrap this in a BEGIN
-block, C<$count> is defined at compile-time, but also goes out of
-scope at the end of the BEGIN block. The BEGIN block also ensures that
+out of scope.
+この例では、サブルーチン C<counter> を定義し、そこでレキシカル変数
+C<$count> を使います。
+これを BEGIN ブロックで囲っているので、C<$count> はコンパイル時に
+定義されますが、BEGIN ブロックの終わりでスコープから外れます。
+The BEGIN block also ensures that
 the subroutine and the value it uses is defined at compile-time so the
 subroutine is ready to use just like any other subroutine, and you can
 put this code in the same place as other subroutines in the program
-text (i.e. at the end of the code, typically). The subroutine
-C<counter> still has a reference to the data, and is the only way you
-can access the value (and each time you do, you increment the value).
+text (i.e. at the end of the code, typically).
+サブルーチン C<counter> は未だにデータへのリファレンスを持っていて、
+これが値にアクセスできる唯一の方法です(そしてそうする度に、値が
+インクリメントされます)。
 The data in chunk of memory defined by C<$count> is private to
 C<counter>.
 (TBT)
@@ -1229,10 +1233,9 @@
 
 =end original
 
-To declare a file-private variable, you still use a lexical variable.
-A file is also a scope, so a lexical variable defined in the file
-cannot be seen from any other file.
-(TBT)
+ファイルプライベートな変数を宣言するには、やはりレキシカル変数が使えます。
+ファイルもスコープとなるので、あるファイルで定義されたレキシカル変数は
+その他のファイルからは見えません。
 
 =begin original
 
@@ -1245,10 +1248,9 @@
 
 さらなる情報については L<perlsub/"Persistent Private Variables"> を
 参照してください。
-L<perlref> でのクロージャに関する議論は may help you even though we
-did not use anonymous subroutines in this answer.
+L<perlref> でのクロージャに関する議論は、この答えには無名サブルーチンは
+使っていないですが、助けになるかもしれません。
 詳細については L<perlsub/"Persistent Private Variables"> を参照してください。
-(TBT)
 
 =head2 What's the difference between dynamic and lexical (static) scoping?  Between local() and my()?
 
@@ -1383,9 +1385,8 @@
 
 =end original
 
-Alternatively you can use the compiler directive our() to bring a
-dynamic variable into the current lexical scope.
-(TBT)
+あるいは、動的変数を現在のレキシカルスコープにもたらすために、コンパイラ
+指示子 our() を使えます。
 
 	require 5.006; # our() did not exist before 5.6
 	use vars '$var';
@@ -1723,11 +1724,9 @@
 
 Perl 5.8 から、ソースフィルタモジュール C<Switch> も switch と case を
 使うために使えます。
-Its use is now discouraged, because it's
-not fully compatible with the native switch of Perl 5.10, and because,
-as it's implemented as a source filter, it doesn't always work as intended
-when complex syntax is involved.
-(TBT)
+Perl 5.10 には完全互換のネイティブな switch があり、また、これはソース
+フィルタとして実装されているので、複雑な文法の場合はいつも想定通りに
+動くとは限らないからです。
 
 =head2 How can I catch accesses to undefined variables, functions, or methods?
 
@@ -1861,10 +1860,9 @@
 組み込みの POD を使えます。
 コメントアウトしたいブロックを POD マーカーで囲んでください。
 <=begin> 指示子は区域を特定のフォーマッタ用としてマークします。
-Use the C<comment> format, which no formatter
-should claim to understand (by policy).
+C<comment> フォーマットを使ってください; これは(規定により)どの
+フォーマッタも主張しません。
 <=end> でブロックの終わりをマークしてください。
-(TBT)
 
 	# program is here
 	
Index: docs/perl/5.10.0/perlfaq8.pod
diff -u docs/perl/5.10.0/perlfaq8.pod:1.3 docs/perl/5.10.0/perlfaq8.pod:1.4
--- docs/perl/5.10.0/perlfaq8.pod:1.3	Sun Jun  8 05:24:48 2008
+++ docs/perl/5.10.0/perlfaq8.pod	Thu Jun 12 04:36:31 2008
@@ -806,10 +806,9 @@
 
 =end original
 
-You can also use a double fork. You immediately wait() for your
-first child, and the init daemon will wait() for your grandchild once
-it exits.
-(TBT)
+2 重 fork も使えます。
+あなたは直ちに最初の子に対して wait() し、init デーモンは孫が終了するのを
+wait() します。
 
 	unless ($pid = fork) {
 	    unless (fork) {
@@ -862,11 +861,9 @@
 
 =end original
 
-You can set the values of the %SIG hash to be the functions you want
-to handle the signal.  After perl catches the signal, it looks in %SIG
-for a key with the same name as the signal, then calls the subroutine
-value for that key.
-(TBT)
+%SIG ハッシュにシグナルを扱いたい関数をセットできます。
+perl がシグナルを捕捉した後、perl はシグナルと同じ名前をキーとして %SIG を
+見て、そのキーの値であるサブルーチンを呼び出します。
 
 	# as an anonymous subroutine
 
@@ -893,10 +890,12 @@
 
 Perl versions before 5.8 had in its C source code signal handlers which
 would catch the signal and possibly run a Perl function that you had set
-in %SIG.  This violated the rules of signal handling at that level
-causing perl to dump core. Since version 5.8.0, perl looks at %SIG
-*after* the signal has been caught, rather than while it is being caught.
-Previous versions of this answer were incorrect.
+in %SIG.
+これはこのレベルでのシグナルハンドリングのルールに違反していて、perl の
+コアダンプを引き起こしていました。
+バージョン 5.8.0 から、perl はシグナルを捕捉している間ではなく、シグナルを
+捕捉した「後に」%SIG を見ます。
+この答えの以前のバージョンは間違っていました。
 (TBT)
 
 =head2 How do I modify the shadow password file on a Unix system?
@@ -1390,10 +1389,9 @@
 
 =end original
 
-To read both a command's STDOUT and its STDERR separately, you can
-redirect them to temp files, let the command run, then read the temp
-files:
-(TBT)
+あるコマンドの STDOUT と STDERR を別々に読み込みたい場合、それをテンポラリ
+ファイルにリダイレクトして、コマンドを実行して、テンポラリファイルから
+読み込みます:
 
 	use IPC::Open3;
 	use Symbol qw(gensym);
@@ -1413,9 +1411,8 @@
 
 =end original
 
-But there's no real need for *both* to be tempfiles... the following
-should work just as well, without deadlocking:
-(TBT)
+しかし、実際には「両方を」テンポラリファイルにするする必要はありません…。
+以下のものもデッドロックなしにうまく動きます:
 
 	use IPC::Open3;
 	use Symbol qw(gensym);
@@ -1434,9 +1431,8 @@
 
 =end original
 
-And it'll be faster, too, since we can begin processing the program's
-stdout immediately, rather than waiting for the program to finish.
-(TBT)
+そして、これはプログラムの終了を待つのではなく、プログラムの標準出力を直ちに
+処理するので、より速いはずです。
 
 =begin original
 
@@ -1559,7 +1555,7 @@
 =end original
 
 あるコマンドの標準エラー出力を捉えるために
-標準出力と標準エラー出力を入れ替えるが、標準出力が
+標準出力と標準エラー出力を入れ替えるが、標準出力に
 古い標準エラー出力に出るようにするには:
 
 	$output = `cmd 3>&1 1>&2 2>&3 3>&-`;        # either with backticks
@@ -1633,9 +1629,9 @@
 couldn't be run, it's the shell that gets the message, not Perl. All
 your Perl program can find out is whether the shell itself could be
 successfully started.  You can still capture the shell's STDERR and
-check it for error messages.  See L<"How can I capture STDERR from an
-external command?"> elsewhere in this document, or use the
-IPC::Open3 module.
+check it for error messages.
+この文書の別の場所にある L<"How can I capture STDERR from an external
+command?"> を参照するか、IPC::Open3 モジュールを使ってください。
 (TBT)
 
 =begin original
@@ -1646,10 +1642,8 @@
 
 =end original
 
-If there are no shell metacharacters in the argument of open(), Perl
-runs the command directly, without using the shell, and can correctly
-report whether the command started.
-(TBT)
+open() の引数にシェルメタ文字がないなら、Perl はコマンドをシェルを使わずに
+直接実行し、コマンドが開始したかどうかを正しく報告できます。
 
 =head2 What's wrong with using backticks in a void context?
 
@@ -1680,10 +1674,9 @@
 
 =end original
 
-Writing backticks in your program sends a clear message to the readers
-of your code that you wanted to collect the output of the command.
-Why send a clear message that isn't true?
-(TBT)
+プログラム中に逆クォートを書くことで、そのコマンドの出力を使いたいという
+はっきりしたメッセージをあなたのコードの読者に送ります。
+なぜ正しくないはっきりしたメッセージを送るのですか?
 
 =begin original
 
@@ -1726,10 +1719,9 @@
 
 =end original
 
-which will echo the cat command's output as it is generated, instead
-of waiting until the program has completed to print it out.
+これは、プログラムが出力を終えるのを待つのではなく、cat コマンドの出力が
+生成される毎にエコーします。
 これはまたその戻り値のチェックも行います。
-(TBT)
 
 =begin original
 
@@ -1739,7 +1731,7 @@
 =end original
 
 system() はまた、シェルのワイルドカード処理を行えるかどうかを直接
-制御しますが、backticksはそういった制御は行いません。
+制御しますが、逆クォートはそういった制御は行いません。
 
 =head2 How can I call backticks without shell processing?
 
@@ -1765,10 +1757,9 @@
 
 =end original
 
-As of Perl 5.8.0, you can use C<open()> with multiple arguments.
-Just like the list forms of C<system()> and C<exec()>, no shell
-escapes happen.
-(TBT)
+Perl 5.8.0 から、複数の引数の C<open()> を使えます。
+リスト形式の C<system()> や C<exec()> と同様に、シェルエスケープは
+起きません。
 
 	open( GREP, "-|", 'grep', @opts, $search_string, @filenames );
 	chomp(@ok = <GREP>);
@@ -2258,12 +2249,12 @@
 
 =end original
 
-This sets the soft and hard limits to 10 and 20 seconds, respectively.
+これはソフト制限とハード制限をそれぞれ 10 秒と 20 秒にセットします。
 After 10 seconds of time spent running on the CPU (not "wall" time),
 the process will be sent a signal (XCPU on some systems) which, if not
-trapped, will cause the process to terminate.  If that signal is
-trapped, then after 10 more seconds (20 seconds in total) the process
-will be killed with a non-trappable signal.
+trapped, will cause the process to terminate.
+シグナルがトラップされると、さらに 10 秒(合計 20 秒)経過後、プロセスは
+ブロック不可シグナルで kill されます。
 (TBT)
 
 =begin original
@@ -2323,9 +2314,8 @@
 
 =end original
 
-Other modules provide more specific access: Win32::ODBC, Alzabo, iodbc,
-and others found on CPAN Search: http://search.cpan.org .
-(TBT)
+その他のモジュールはより具体的なアクセスを提供します: Win32::ODBC, Alzabo,
+iodbc などは CPAN Search (http://search.cpan.org) で見つけられます。
 
 =head2 How do I make a system() exit on control-C?
 
@@ -2391,11 +2381,10 @@
 
 =end original
 
-When you run a Perl script, something else is running the script for you,
-and that something else may output error messages.  The script might
-emit its own warnings and error messages.  Most of the time you cannot
-tell who said what.
-(TBT)
+あなたが Perl スクリプトを実行すると、他の誰かがあなたのためにスクリプトを
+動かします; そしてその他の誰かがエラーメッセージを出すことがあります。
+スクリプトも自身の警告やエラーメッセージを出すかもしれません。
+ほとんどの場合、それを言っているのが誰かは教えてもらえません。
 
 =begin original
 
@@ -2404,9 +2393,9 @@
 
 =end original
 
-You probably cannot fix the thing that runs perl, but you can change how
-perl outputs its warnings by defining a custom warning and die functions.
-(TBT)
+あなたが perl を実行しているものを修正することはおそらくできませんが、
+独自の警告と die の関数を定義することで、perl がどのように警告を
+出力するかを変えることはできます。
 
 =begin original
 
@@ -2445,9 +2434,8 @@
 
 =end original
 
-A quick and dirty fix involves a little bit of code, but this may be all
-you need to figure out the problem.
-(TBT)
+素早く汚い修正には少しコードが必要ですが、おそらく問題を見つけ出すのに
+必要なものが全てあるでしょう。
 
 	#!/usr/bin/perl -w
 
@@ -2497,11 +2485,10 @@
 
 =end original
 
-You could also just know all the perl errors, and although there are
-some people who may know all of them, you probably don't.  However, they
-all should be in the perldiag manpage. If you don't find the error in
-there, it probably isn't a perl error.
-(TBT)
+単に全ての perl のエラーを知るという方法もありますが、(全てのエラーを
+知っている人もいるかもしれませんが)おそらくあなたは知らないでしょう。
+しかし、これら全ては perldiag マニュアルページにあるはずです。
+もしエラーがここになければ、それはおそらく perl のエラーではありません。
 
 =begin original
 
@@ -2725,9 +2712,8 @@
 
 =end original
 
-You can set this in your CPAN.pm configuration so modules automatically install
-in your private library directory when you use the CPAN.pm shell:
-(TBT)
+CPAN.pm シェルを使ったときに、自動的にモジュールを自分のプライベートな
+ディレクトリにインストールさせるように、CPAN.pm の設定を変更できます:
 
 	% cpan
 	cpan> o conf makepl_arg PREFIX=/mydir/perl,LIB=/mydir/perl/lib
@@ -2776,10 +2762,8 @@
 
 =end original
 
-If you know the directory already, you can add it to C<@INC> as you would
-for any other directory. You might <use lib> if you know the directory
-at compile time:
-(TBT)
+すでにディレクトリが分かっている場合は、それを C<@INC> に追加できます。
+コンパイル時に分かっている場合は、<use lib> が使えます:
 
 	use lib $directory;
 
@@ -2791,10 +2775,10 @@
 
 =end original
 
-The trick in this task is to find the directory. Before your script does
-anything else (such as a C<chdir>), you can get the current working
-directory with the C<Cwd> module, which comes with Perl:
-(TBT)
+このタスクの秘訣は、ディレクトリを探すことです。
+あなたのスクリプトが(C<chdir> などで)他の場所へ行く前に、Perl に
+同梱されている C<Cwd> モジュールを使って、カレントワーキングディレクトリを
+取得できます:
 
 	BEGIN {
 		use Cwd;
@@ -2811,10 +2795,9 @@
 
 =end original
 
-You can do a similar thing with the value of C<$0>, which holds the
-script name. That might hold a relative path, but C<rel2abs> can turn
-it into an absolute path. Once you have the 
-(TBT)
+似たようなことは、スクリプト名を記録している C<$0> でもできます。
+これは相対パスかもしれませんが、C<rel2abs> はこれを絶対パスに変更できます。
+以下のようにすると
 
 	BEGIN {	
 		use File::Spec::Functions qw(rel2abs);
@@ -2835,11 +2818,11 @@
 
 =end original
 
-The C<FindBin> module, which comes with Perl, might work. It searches
-through C<$ENV{PATH}> (so your script has to be in one of those
-directories). You can then use that directory (in C<$FindBin::Bin>)
-to locate nearby directories you want to add:
-(TBT)
+Perl に同梱されている C<FindBin> モジュールが働くでしょう。
+これは C<$ENV{PATH}> を検索します(従ってあなたのスクリプトはこれらの
+ディレクトリの一つにある必要があります)。
+それからこの (C<$FindBin::Bin> にある)ディレクトリを、追加したい
+ディレクトリを指定するのに使います:
 
 	use FindBin;
 	use lib "$FindBin::Bin/../lib";
@@ -2855,9 +2838,9 @@
 
 =end original
 
-Here are the suggested ways of modifying your include path, including
-environment variables, run-time switches, and in-code statements:
-include パスを変更するためのお薦めの方法を挙げておきます:
+include パス, including
+environment variables, run-time switches, and in-code statements を
+変更するためのお薦めの方法を挙げておきます:
 (TBT)
 
 =over 4
Index: docs/perl/5.10.0/perlfaq9.pod
diff -u docs/perl/5.10.0/perlfaq9.pod:1.3 docs/perl/5.10.0/perlfaq9.pod:1.4
--- docs/perl/5.10.0/perlfaq9.pod:1.3	Sat May 31 05:53:32 2008
+++ docs/perl/5.10.0/perlfaq9.pod	Thu Jun 12 04:36:31 2008
@@ -74,10 +74,10 @@
 
 =end original
 
-These Perl FAQs very selectively cover some CGI issues. However, Perl
-programmers are strongly advised to use the CGI.pm module, to take care
-of the details for them.
-(TBT)
+これらの Perl FAQ はいくつかの CGI の問題についてとても抜粋して
+カバーしています。
+しかし、これらの詳細に用心するために、Perl プログラマは CGI モジュールを
+使うことを強く忠告されます。
 
 =begin original
 
@@ -87,10 +87,9 @@
 
 =end original
 
-The similarity between CGI response headers (defined in the CGI
-specification) and HTTP response headers (defined in the HTTP
-specification, RFC2616) is intentional, but can sometimes be confusing.
-(TBT)
+(CGI 仕様に定義されている) CGI レスポンスヘッダと、(RFC2616 の HTTP 仕様で
+定義されている) HTTP レスポンスヘッダの類似性は意図的なものですが、
+時々混乱を引き起こします。
 
 =begin original
 
@@ -109,10 +108,11 @@
 =end original
 
 CGI 仕様は 2 種類のスクリプトを定義しています:
-the "Parsed Header"
-script, and the "Non Parsed Header" (NPH) script. Check your server
-documentation to see what it supports. "Parsed Header" scripts are
-simpler in various respects. The CGI specification allows any of the
+"Parsed Header" スクリプトと、"Non Parsed Header" (NPH) スクリプト。
+何をサポートしているかについてはサーバーのドキュメントをチェックして
+ください。
+"Parsed Header" スクリプトはい色々な側面においてより単純です。
+The CGI specification allows any of the
 usual newline representations in the CGI response (it's the server's
 job to create an accurate HTTP response based on it). So "\n" written in
 text mode is technically correct, and recommended. NPH scripts are more
@@ -426,16 +426,15 @@
 
 =end original
 
-この場合、
-download means to use the file upload feature of HTML
-forms.  You allow the web surfer to specify a file to send to your web
-server.  To you it looks like a download, and to the user it looks
-like an upload.
+この場合、ダウンロードというのは HTML フォームのファイルアップロード機能を
+使うということを意味します。
+Web サーファーに、Web サーバーに送るファイルを指定できるようにします。
+あなたにとってダウンロードに見えるものは、ユーザーにとってはアップロードに
+見えます。
 何と呼ぶかには関わらず、B<multipart/form-data>
 エンコーディングとして知られているものを使うことができるでしょう。
 CGI.pm モジュール(標準ライブラリになっています)はこれを start_multipart_form()
 という starform() メソッドとは異なるメソッドでサポートしています。
-(TBT)
 
 =begin original
 
@@ -664,8 +663,9 @@
 (たとえ同じサーバでも)宛て先の完全な URL を指定してください。
 This is one of the two different kinds of CGI "Location:"
 responses which are defined in the CGI specification for a Parsed Headers
-script. The other kind (an absolute URLpath) is resolved internally to
-the server without any HTTP redirection.
+script.
+その他の種類 (絶対 URL パス) は HTTP リダイレクトなしにサーバーによって
+内部的に解決されます。
 CGI 仕様ではどちらの場合でも相対 URL は認められていません。
 (TBT)
 
@@ -847,10 +847,8 @@
 
 =end original
 
-It doesn't get much easier: the CGI module automatically
-parses the input and makes each value available through the
-C<param()> function.
-(TBT)
+これ以上簡単にはなりません: CGI モジュールは入力を自動的にパースして、
+それぞれの値を C<param()> 関数を通して利用可能にします。
 
 	use CGI qw(:standard);
 
@@ -882,10 +880,8 @@
 
 =end original
 
-You might also try CGI::Minimal which is a lightweight version
-of the same thing.  Other CGI::* modules on CPAN might work better
-for you, too.
-(TBT)
+同じことをする軽量版の CGI::Minimal も試したいかもしれません。
+CPAN にあるその他の CGI::* モジュールもあなたのためによく働くでしょう。
 
 =begin original
 
@@ -948,9 +944,8 @@
 
 そのアドレスにメールを送ってそれが届いたかどうかを確認しなければ
 完全にパート I<b> に答えられませんが、C<Email::Valid> か 
-C<RFC::RFC822::Address> のモジュールは will do
-both part I<a> and part I<b> as far as you can in real-time.
-(TBT)
+C<RFC::RFC822::Address> のモジュールは、リアルタイムでできる限りの
+ことに対してパート I<a> とパート I<b> の両方を行います。
 
 =begin original
 
@@ -965,9 +960,9 @@
 
 =end original
 
-If you want to just check part I<a> to see that the address is valid
-according to the mail header standard with a simple regular expression,
-you can have problems, because there are deliverable addresses that
+もしあなたが単純な正規表現でアドレスがメールヘッダ標準に従っているかを
+見ることでパート I<a> をチェックしたいなら、問題を抱えることになります;
+because there are deliverable addresses that
 aren't RFC-2822 (the latest mail header standard) compliant, and
 addresses that aren't deliverable which, are compliant.  However,  the
 following will match valid RFC-2822 addresses that do not have comments,
@@ -993,13 +988,12 @@
 
 =end original
 
-Just match an address against C</^${addr_spec}$/> to see if it follows
-the RFC2822 specification.
+もしアドレスが RFC 2822 仕様に準拠しているかどうかを見たいなら、単に
+C</^${addr_spec}$/> とマッチングさせてください。
 しかし、このような正しい形式のアドレスが実際に特定の個人に届く
 正しい方法なのか、あるいはその個人に関連付けられたメールボックスに
 届くのかさえも明確にすることは不可能なので、これをどう使うかについては
 とても慎重になる必要があります。
-(TBT)
 
 =begin original
 


perldocjp-cvs メーリングリストの案内
Back to archive index