Kentaro Shirakata
argra****@users*****
2007年 8月 9日 (木) 01:30:00 JST
Index: docs/perl/5.6.1/perldebug.pod diff -u docs/perl/5.6.1/perldebug.pod:1.5 docs/perl/5.6.1/perldebug.pod:1.6 --- docs/perl/5.6.1/perldebug.pod:1.5 Wed Dec 13 12:48:30 2006 +++ docs/perl/5.6.1/perldebug.pod Thu Aug 9 01:30:00 2007 @@ -733,6 +733,7 @@ words, you follow single-quoting rules irrespective of the quote; eg: C<O option='this isn\'t bad'> or C<O option="She said, \"Isn't it?\"">. +(TBT) For historical reasons, the C<=value> is optional, but defaults to 1 only where it is safe to do so--that is, mostly for Boolean @@ -836,6 +837,7 @@ Set an action (debugger command) to happen before every debugger prompt. A multi-line command may be entered in the customary fashion. B<WARNING> If C<command> is missing, all actions are wiped out! +(TBT) Because this command is in some senses new, a warning is issued if you appear to have accidentally entered a block instead. If that's @@ -1029,10 +1031,18 @@ =item m expr +=begin original + List which methods may be called on the result of the evaluated expression. The expression may evaluated to a reference to a blessed object, or to a package name. +=end original + +評価した表現の結果が呼び出されたメソッドを一覧表示します。 +表現は bless されたオブジェクトへのリファレンスか、パッケージ名として +評価されます。 + =item man [manpage] Despite its name, this calls your system's default documentation @@ -1042,6 +1052,7 @@ I<manpath>> option. Failed lookups of the form C<XXX> that match known manpages of the form I<perlXXX> will be retried. This lets you type C<man debug> or C<man op> from the debugger. +(TBT) On systems traditionally bereft of a usable B<man> command, the debugger invokes B<perldoc>. Occasionally this determination is @@ -1076,9 +1087,16 @@ =item C<recallCommand>, C<ShellBang> +=begin original + The characters used to recall command or spawn shell. By default, both are set to C<!>, which is unfortunate. +=end original + +再呼び出しコマンドとシェル起動に使われる文字です。 +デフォルトでは、残念ながら、両方とも C<!> にセットされています。 + =item C<pager> Program to use for output of pager-piped commands (those beginning @@ -1087,17 +1105,25 @@ for bold and underlining, if the chosen pager does not pass escape sequences through unchanged, the output of some debugger commands will not be readable when sent through the pager. +(TBT) =item C<tkRunning> +=begin original + Run Tk while prompting (with ReadLine). +=end original + +プロンプトで (ReadLine と共に) Tk を実行します。 + =item C<signalLevel>, C<warnLevel>, C<dieLevel> Level of verbosity. By default, the debugger leaves your exceptions and warnings alone, because altering them can break correctly running programs. It will attempt to print a message when uncaught INT, BUS, or SEGV signals arrive. (But see the mention of signals in L<BUGS> below.) +(TBT) To disable this default safe mode, set these values to something higher than 0. At a level of 1, you get backtraces upon receiving any kind @@ -1114,9 +1140,15 @@ =item C<AutoTrace> +=begin original + Trace mode (similar to C<t> command, but can be put into C<PERLDB_OPTS>). +=end original + +トレースモード(C<t> コマンドと同様ですが、C<PERLDB_OPTS> に書けます)。 + =item C<LineInfo> File or pipe to print line number info to. If it is a pipe (say, @@ -1124,6 +1156,7 @@ mechanism used to interact with a slave editor or visual debugger, such as the special C<vi> or C<emacs> hooks, or the C<ddd> graphical debugger. +(TBT) =item C<inhibit_exit> @@ -1156,9 +1189,16 @@ =item C<maxTraceLen> +=begin original + Length to truncate the argument list when the C<frame> option's bit 4 is set. +=end original + +C<frame> オプションの bit 4 がセットされている時の引数リストを切り詰める +長さ。 + =back =begin original @@ -1240,12 +1280,14 @@ is C<auto>; one can enable double-quotish or single-quotish format by setting it to C<"> or C<'>, respectively. By default, characters with their high bit set are printed verbatim. +(TBT) =item C<UsageOnly> Rudimentary per-package memory usage dump. Calculates total size of strings found in variables in the package. This does not include lexicals in a module's file scope, or lost in closures. +(TBT) =back @@ -1293,6 +1335,7 @@ =item C<TTY> The TTY to use for debugging I/O. +(TBT) =item C<noTTY> @@ -1338,6 +1381,7 @@ options could be uniquely abbreviated by the first letter (modulo the C<Dump*> options). It is nevertheless recommended that you always spell them out in full for legibility and future compatibility. +(TBT) Other examples include @@ -1360,8 +1404,14 @@ $ sleep 1000000 +=begin original + See L<perldebguts/"Debugger Internals"> for details. +=end original + +詳細については L<perldebguts/"Debugger Internals"> を参照してください。 + =head2 Debugger input/output (デバッガの入出力) @@ -1370,12 +1420,24 @@ =item Prompt +=begin original + The debugger prompt is something like +=end original + +デバッガのプロンプトは以下のようだったり: + DB<8> +=begin original + or even +=end original + +あるいは以下のようだったりします: + DB<<17>> where that number is the command number, and which you'd use to @@ -1386,6 +1448,7 @@ at a breakpoint and then printed the result of a function call that itself has a breakpoint, or you step into an expression via C<s/n/t expression> command. +(TBT) =item Multiline commands @@ -1538,6 +1601,7 @@ of debugger from within the debugger using its C<O> command, from the command line via the C<PERLDB_OPTS> environment variable, and from customization files. +(TBT) =begin original @@ -1557,8 +1621,14 @@ $DB::alias{'ps'} = 's/^ps\b/p scalar /'; $DB::alias{'quit'} = 's/^quit(\s*)/exit/'; +=begin original + You can change options from F<.perldb> by using calls like this one; +=end original + +F<.perldb> のオプションを、以下のような呼び出しによって変更できます: + parse_options("NonStop=1 LineInfo=db.out AutoTrace=1 frame=2"); The code is executed in the package C<DB>. Note that F<.perldb> is @@ -1569,6 +1639,7 @@ in by Perl and may contain arbitrary commands, for security reasons, it must be owned by the superuser or the current user, and writable by no one but its owner. +(TBT) =begin original @@ -1616,10 +1687,12 @@ have full editing capabilities much like GNU I<readline>(3) provides. Look for these in the F<modules/by-module/Term> directory on CPAN. These do not support normal B<vi> command-line editing, however. +(TBT) A rudimentary command-line completion is also available. Unfortunately, the names of lexical variables are not available for completion. +(TBT) =head2 Editor Support for Debugging @@ -1629,6 +1702,7 @@ it can interact with the Perl debugger to provide an integrated software development environment reminiscent of its interactions with C debuggers. +(TBT) Perl comes with a start file for making B<emacs> act like a syntax-directed editor that understands (some of) Perl's syntax. @@ -1658,6 +1732,7 @@ Perl profiler. Devel::DProf is now included with the standard Perl distribution. To profile your Perl program in the file F<mycode.pl>, just type: +(TBT) $ perl -d:DProf mycode.pl Index: docs/perl/5.6.1/perldiag.pod diff -u docs/perl/5.6.1/perldiag.pod:1.4 docs/perl/5.6.1/perldiag.pod:1.5 --- docs/perl/5.6.1/perldiag.pod:1.4 Tue Aug 8 04:43:52 2006 +++ docs/perl/5.6.1/perldiag.pod Thu Aug 9 01:30:00 2007 @@ -72,10 +72,11 @@ =end original -Optional warnings are enabled by using the C<warnings> pragma or the B<-w> -and B<-W> switches. Warnings may be captured by setting C<$SIG{__WARN__}> -to a reference to a routine that will be called on each warning instead -of printing it. See L<perlvar>. +C<warnings> プラグマか B<-w> と B<-W> のオプションを使うと追加の警告が +有効になります。 +警告は、表示する変わりに警告が出るたびに呼び出されるサブルーチンへの +リファレンスを C<$SIG{__WARN__}> にセットすることで捕捉できます。 +L<perlvar> を参照してください。 =begin original @@ -155,7 +156,7 @@ =end original -(F) pack() と unpack() での '!' は特定のタイプの後にのみ +(F) pack() や unpack() での '!' は特定のタイプの後にのみ つけることができます。 L<perlfunc/pack> を参照してください。 @@ -170,10 +171,10 @@ =end original -(W ambiguous) A subroutine you have declared has the same name as a Perl -keyword, and you have used the name without qualification for calling -one or the other. Perl decided to call the builtin because the -subroutine is not imported. +(W ambiguous) 定義したサブルーチンの名前が Perl のキーワードと同じで、 +どちらかを呼び出すために修飾なしで名前を使っています。 +Perl は、サブルーチンがインポートされたものではないので、 +組み込みのものを呼び出すことにしました。 =begin original @@ -184,10 +185,11 @@ =end original -To force interpretation as a subroutine call, either put an ampersand -before the subroutine name, or qualify the name with its package. -Alternatively, you can import the subroutine (or pretend that it's -imported with the C<use subs> pragma). +サブルーチン呼び出しとして解釈することを強制させるためには、 +サブルーチン名の前にアンパサンドをつけるか、名前をパッケージ名で +修飾してください。 +他の方法として、サブルーチンをインポートする(あるいは C<use subs> +プラグマを使ってインポートされたふりをする)方法もあります。 =begin original @@ -198,10 +200,10 @@ =end original -To silently interpret it as the Perl operator, use the C<CORE::> prefix -on the operator (e.g. C<CORE::log($x)>) or by declaring the subroutine -to be an object method (see L<perlsub/"Subroutine Attributes"> or -L<attributes>). +警告なしに Perl 演算子として解釈させるためには、(C<CORE::log($x)> のように) +演算子に C<CORE::> 接頭辞をつけるか、サブルーチンをオブジェクト +メソッド(L<perlsub/"Subroutine Attributes"> や L<attributes> を +参照してください)として定義してください。 =item Ambiguous use of %s resolved as %s @@ -271,13 +273,13 @@ =end original -(W misc) The pattern match (//), substitution (s///), and -transliteration (tr///) operators work on scalar values. If you apply -one of them to an array or a hash, it will convert the array or hash to -a scalar value -- the length of an array, or the population info of a -hash -- and then work on that scalar value. This is probably not what -you meant to do. See L<perlfunc/grep> and L<perlfunc/map> for -alternatives. +(W misc) パターンマッチ (//), 置換 (s///), 文字置換 +(tr///) 演算子はスカラ値に対して動作します。 +これらを配列やハッシュに適用すると、配列やハッシュをスカラ値 -- +配列の長さかハッシュの大きさの情報 -- に変換し、そのスカラ値に対して +動作します。 +これはおそらくしたいこととは違うでしょう。 +代替案については L<perlfunc/grep> と L<perlfunc/map> を参照してください。 =item Args must match #! line @@ -432,7 +434,7 @@ =end original -左辺値コンテキストで vec が呼び出されたとき、 +(F) 左辺値コンテキストで vec が呼び出されたとき、 二つ目の引数は 0 以上でなければなりません。 =item Attempt to free non-arena SV: 0x%lx @@ -986,9 +988,9 @@ =end original -(F) You had an unpack template indicating a counted-length string, but -you have also specified an explicit size for the string. See -L<perlfunc/pack>. +(F) unpack のテンプレートとしてカウント長文字列を示していますが、 +文字列の長さも明示的に指定しています。 +L<perlfunc/pack> を参照してください。 =item Can't bless non-reference value @@ -1195,9 +1197,9 @@ =end original -(S) Currently, only scalar variables can declared with a specific class -qualifier in a "my" or "our" declaration. The semantics may be extended -for other types of variables in future. +(S) 現在のところ、スカラ変数のみが "my" や "our" 定義の中で特定の +クラス修飾子と共に定義できます。 +この動作は将来には他の種類の変数に拡張されるでしょう。 =item Can't declare %s in "%s" @@ -1488,10 +1490,10 @@ =end original -(F) You may have tried to use C<\p> which means a Unicode property for -example \p{Lu} is all uppercase letters. Escape the C<\p>, either -C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until -possible C<\E>). +(F) 例えば \p{Lu} が全て大文字、のように、Unicode プロパティを意味する +C<\p> を使おうとしました。 +C<\\p> (単に C<\p>) または C<\Q\p> (C<\E> までの残りの文字列) を使って +C<\p> をエスケープしてください。 =item Can't fork @@ -1609,9 +1611,9 @@ =end original -(F) The "goto subroutine" call can't be used to jump out of an eval -"string". (You can use it to jump out of an eval {BLOCK}, but you -probably don't want to.) +(F) "goto subroutine" 呼び出しは eval "string" から飛び出すことは +できません。 +(eval {BLOCK} から飛び出すことはできますが、多分そうしたくはないでしょう。) =item Can't goto subroutine outside a subroutine @@ -1894,7 +1896,7 @@ =end original -(S inplace)C<< <> >> ファイルハンドルによる暗黙的なファイルオープンまたは +(S inplace) C<< <> >> ファイルハンドルによる暗黙的なファイルオープンまたは C<-n> か C<-p> コマンドラインスイッチによる暗黙的な、あるいは 明示的なファイルオープンが表示した理由によって失敗しました。 通常、これはコマンドラインで指定したファイルの読み込み権限が無いときに起こります。 @@ -2391,9 +2393,9 @@ =end original -(F) The compiler tried to interpret a bracketed expression as a -subscript. But to the left of the brackets was an expression that -didn't look like an array reference, or anything else subscriptable. +(F) コンパイラが中かっこ式をサブスクリプトとして解釈しようとしました。 +しかし、中かっこの左側は配列のリファレンスやその他の +サブスクリプト化できるもののようには見えない式です。 =item Can't use \%c to mean $%c in expression @@ -2587,9 +2589,10 @@ =end original -(S|W redefine) You redefined a subroutine which had previously been -eligible for inlining. See L<perlsub/"Constant Functions"> for -commentary and workarounds. +(S|W redefine) 以前にインライン化できる形であったサブルーチンを +再定義しました。 +コメントと回避策については L<perlsub/"Constant Functions"> を +参照してください。 =item Constant subroutine %s undefined @@ -2872,14 +2875,15 @@ =end original -(S) This is an educated guess made in conjunction with the message "%s -found where operator expected". It often means a subroutine or module -name is being referenced that hasn't been declared yet. This may be -because of ordering problems in your file, or because of a missing -"sub", "package", "require", or "use" statement. If you're referencing -something that isn't defined yet, you don't actually have to define the -subroutine or package before the current location. You can use an empty -"sub foo;" or "package FOO;" to enter a "forward" declaration. +(S) これは "%s found where operator expected" メッセージと共に +表示される教育的な推測です。 +これはしばしばサブルーチンやモジュール名がまだ宣言される前に参照されている +ことを意味します。 +これはファイル内部での順番のためであったり、"sub", "package", "require", +"use" 文がないためであったりします。 +もしまだ定義されていないものを参照したい場合、現在位置より前に実際に +サブルーチンやパッケージを定義する必要はありません。 +空の "sub foo;" や "package FOO;" を「前方」宣言として使えます。 =item Duplicate free() ignored @@ -2904,10 +2908,11 @@ =end original -(S) There is no keyword "elseif" in Perl because Larry thinks it's ugly. -Your code will be interpreted as an attempt to call a method named -"elseif" for the class returned by the following block. This is -unlikely to be what you want. +(S) Larry は "elseif" というのは醜いと考えたので、Perl にはこのキーワードは +ありません。 +このコードは引き続くブロックによって返されたクラスの "elseif" メソッドを +呼び出そうとしていると解釈されます。 +これは望んでいることではないはずです。 =item entering effective %s failed @@ -3034,8 +3039,7 @@ =end original -(W exiting) You are exiting an eval by unconventional means, such as a -goto, or a loop control statement. +(W exiting) goto やループ制御文といった、異例な形で eval を終了しました。 =item Exiting pseudo-block via %s @@ -3128,10 +3132,11 @@ =end original -(W regexp) A character class range must start and end at a literal -character, not another character class like C<\d> or C<[:alpha:]>. The -"-" in your false range is interpreted as a literal "-". Consider -quoting the "-", "\-". See L<perlre>. +(W regexp) 文字クラス範囲の先頭とと末尾は、C<\d> や C<[:alpha:]> のような +他の文字クラスではなく、リテラル文字でなければなりません。 +間違った範囲の "-" はリテラルの "-" と解釈されます。 +"-" を "\-" とクォートすることを考慮してください。 +L<perlre> を参照してください。 =item Fatal VMS error at %s, line %d @@ -3239,10 +3244,11 @@ =end original -(W closed) The filehandle you're attempting to flock() got itself closed -some time before now. Check your logic flow. flock() operates on -filehandles. Are you attempting to call flock() on a dirhandle by the -same name? +(W closed) flock() しようとしたファイルハンドルはその前に既に +閉じられています。 +論理フローをチェックしてください。 +flock() はファイルハンドルを操作します。 +同じ名前のディレクトリハンドルに flock() しようとしていませんか? =item Quantifier follows nothing before << HERE in regex m/%s/ @@ -3254,9 +3260,10 @@ =end original -(F) You started a regular expression with a quantifier. Backslash it if you -meant it literally. The << HERE shows in the regular expression about where the -problem was discovered. See L<perlre>. +(F) 正規表現を量指定子で開始しています。 +もしそれをリテラルに使いたいなら、バックスラッシュでクォートしてください。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 +L<perlre> を参照してください。 =item Format not terminated @@ -3800,11 +3807,13 @@ =end original -(F) You can't use system(), exec(), or a piped open in a setuid or -setgid script if any of C<$ENV{PATH}>, C<$ENV{IFS}>, C<$ENV{CDPATH}>, -C<$ENV{ENV}> or C<$ENV{BASH_ENV}> are derived from data supplied (or -potentially supplied) by the user. The script must set the path to a -known value, using trustworthy data. See L<perlsec>. +(F) C<$ENV{PATH}>, C<$ENV{IFS}>, C<$ENV{CDPATH}>, C<$ENV{ENV}>, +C<$ENV{BASH_ENV}> のいずれかがユーザーによって提供された(あるいは +提供された可能性のある)データの場合、setuid や setgid されたスクリプトでは +system(), exec(), パイプされる open を使うことはできません。 +スクリプトはパスとして、信頼の置けるデータを使った、既知の値を +セットしなければなりません。 +L<perlsec> を参照してください。 =item Integer overflow in %s number @@ -3968,9 +3977,10 @@ =end original -(F) The given character is not a valid pack type. See L<perlfunc/pack>. -(W pack) The given character is not a valid pack type but used to be -silently ignored. +(F) 与えられた文字は有効な pack の型ではありません。 +L<perlfunc/pack> を参照してください。 +(W pack) 与えられた文字は有効な pack の型ではありませんが、暗黙に +無視されました。 =item Invalid type in unpack: '%s' @@ -3983,10 +3993,10 @@ =end original -(F) The given character is not a valid unpack type. See -L<perlfunc/unpack>. -(W unpack) The given character is not a valid unpack type but used to be -silently ignored. +(F) 与えられた文字は有効な unpack の型ではありません。 +L<perlfunc/unpack> を参照してください。 +(W unpack) 与えられた文字は有効な unpack の型ではありませんが、暗黙に +無視されました。 =item ioctl is not implemented @@ -4010,9 +4020,9 @@ =end original -(W) The second (fourth, sixth, ...) argument of overload::constant needs -to be a code reference. Either an anonymous subroutine, or a reference -to a subroutine. +(W) overload::constant の 2 番目 (4 番目、6 番目, ...) の引数はコード +リファレンスである必要があります。 +無名サブルーチンか、サブルーチンへのリファレンスです。 =item `%s' is not an overloadable type @@ -4113,6 +4123,7 @@ =end original +(?<= 正規表現構造での前方参照の深さには上限があります。 =item Lvalue subs returning %s not implemented yet @@ -4124,6 +4135,9 @@ =end original +(F) Due to limitations in the current implementation, array and hash +values cannot be returned in subroutines used in lvalue context. See +L<perlsub/"Lvalue subroutines">. =item Lookbehind longer than %d not implemented before << HERE %s @@ -4135,6 +4149,9 @@ =end original +現在のところ前方参照が扱える文字列の長さには制限があります。 +この制限は将来のリリースでは緩和されるでしょう。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 =item Malformed PERLLIB_PREFIX @@ -4144,6 +4161,8 @@ =end original +(F) OS/2 固有のエラーです。 +PERLLIB_PREFIX は以下のような形か: prefix1;prefix2 @@ -4153,6 +4172,7 @@ =end original +あるいはこのような形で: prefix1 prefix2 @@ -4165,6 +4185,10 @@ =end original +with nonempty prefix1 and prefix2. If C<prefix1> is indeed a prefix of +a builtin library search path, prefix2 is substituted. The error may +appear if components are not found, or are too long. See +"PERLLIB_PREFIX" in L<perlos2>. =item Malformed UTF-8 character (%s) @@ -4174,6 +4198,8 @@ =end original +Perl が、何か UTF-8 エンコーディングルールに従わないものを +検出しました。 =item Malformed UTF-16 surrogate @@ -4234,6 +4260,7 @@ =end original +"Server error" を参照してください。 =item Might be a runaway multi-line %s string starting on line %d @@ -4326,6 +4353,8 @@ =end original +(S) "%s found where operator expected" と共に表示される教育的な推測です。 +しばしば抜けている演算子はカンマです。 =item Missing right curly or square bracket @@ -4352,7 +4381,7 @@ =end original (S) このメッセージは、"%s found where operator expected" という -メッセージに伴って出される経験的な想像によるものです。 +メッセージに伴って出される教育的な推測によるものです。 このメッセージが出たからといって、機械的に前の行に セミコロンを付けることはしないでください。 @@ -4442,6 +4471,9 @@ =end original +C<-M> と C<-m> のオプションは Perl にモジュールを読み込ませることを +指示しますが、モジュール名がありませんでした。 +C<-M> と C<-m> に関する完全な詳細については L<perlrun> を参照してください。 =item msg%s not implemented @@ -4475,6 +4507,9 @@ =end original +(F) カウント長文字列を示す pack テンプレートがあります。 +現在のところ長さをカウントできるのは a*, A*, Z* だけです。 +L<perlfunc/pack> を参照してください。 =item / must be followed by a, A or Z @@ -4486,6 +4521,10 @@ =end original +(F) カウント長文字列を示す unpack テンプレートがあります; +これはどの種類の文字列を unpack するかを指示する、文字 a, A, Z の +いずれかの後に続かなければなりません。 +L<perlfunc/pack> を参照してください。 =item / must follow a numeric type @@ -4496,6 +4535,9 @@ =end original +(F) '#' を含む unpack テンプレートがありますが、これがなんらかの +数値 unpack 指定に引き続いていません。 +L<perlfunc/pack> を参照してください。 =item "my sub" not yet implemented