argra****@users*****
argra****@users*****
2013年 2月 5日 (火) 03:14:01 JST
Index: docs/perl/5.10.1/perlport.pod diff -u docs/perl/5.10.1/perlport.pod:1.11 docs/perl/5.10.1/perlport.pod:1.12 --- docs/perl/5.10.1/perlport.pod:1.11 Mon Jan 28 04:41:31 2013 +++ docs/perl/5.10.1/perlport.pod Tue Feb 5 03:14:01 2013 @@ -65,8 +65,9 @@ 特に、コーディングしようとするタスクが移植性に関して完全な一般性が 重要かどうか、またすぐにジョブを終わらせるかどうかを 決定しなければなりません。 -残りのことは簡単です; なぜならあなたが問題にどのようにアプローチしたいと -しても Perl は多くの選択肢を提供するからです。 +残りのことは簡単です。 +なぜならあなたが問題にどのようにアプローチしたいとしても Perl は多くの +選択肢を提供するからです。 =begin original @@ -2466,9 +2467,8 @@ =end original -A MacPerl script saved as a "droplet" will populate C<@ARGV> with the full -pathnames of the files dropped onto the script. -(TBT) +"droplet" として保存された MacPerl スクリプトは、スクリプトにドロップされた +ファイルのフルパス名を C<@ARGV> に展開します。 =begin original @@ -2479,11 +2479,9 @@ =end original -Mac users can run programs under a type of command line interface -under MPW (Macintosh Programmer's Workshop, a free development -environment from Apple). MacPerl was first introduced as an MPW -tool, and MPW can be used like a shell: -(TBT) +Mac ユーザーは MPW (Macintosh Programmer's Workshop, Apple によるフリーな +開発環境) でのコマンドラインインターフェースでプログラムを実行できます。 +MacPerl は最初 MPW ツールとして導入され、MPW はシェルのようにして使えます: perl myscript.plx some arguments @@ -2495,10 +2493,9 @@ =end original -ToolServer is another app from Apple that provides access to MPW tools -from MPW and the MacPerl app, which allows MacPerl programs to use -C<system>, backticks, and piped C<open>. -(TBT) +ToolServer は Apple によるもう一つの app で、MPW と MacPerl app から +MPW tools へのアクセスを提供します; MacPerl プログラムが C<system>, +逆クォート、パイプ C<open> を使えるようにします。 =begin original @@ -2508,10 +2505,10 @@ =end original -"S<Mac OS>" is the proper name for the operating system, but the value -in C<$^O> is "MacOS". To determine architecture, version, or whether -the application or MPW tool version is running, check: -(TBT) +"S<Mac OS>" はオペレーティングシステムとして適切な名前ですが、C<$^O> の値は +"MacOS"。 +アーキテクチャ、バージョン、アプリケーションか MPW tool 版が +実行されているかを決定するには、以下のようにチェックしてください: $is_app = $MacPerl::Version =~ /App/; $is_tool = $MacPerl::Version =~ /MPW/; @@ -2528,11 +2525,11 @@ =end original -S<Mac OS X>, based on NeXT's OpenStep OS, runs MacPerl natively, under the -"Classic" environment. There is no "Carbon" version of MacPerl to run -under the primary Mac OS X environment. S<Mac OS X> and its Open Source -version, Darwin, both run Unix perl natively. -(TBT) +NeXT's OpenStep OS を基にした S<Mac OS X> は "Classic" 環境で +MacPerl をネイティブに実行します。 +基本的な Mac OS X 環境で動作させるための "Carbon" 版の MacPerl はありません。 +S<Mac OS X> とそのオープンソース版である Darwin の両方は Unix perl を +ネイティブに実行します。 =begin original @@ -2667,9 +2664,9 @@ =end original -Do take care with C<$ ASSIGN/nolog/user SYS$COMMAND: SYS$INPUT> if your -perl-in-DCL script expects to do things like C<< $read = <STDIN>; >>. -(TBT) +perl-in-DCL スクリプトで C<< $read = <STDIN>; >> のようなことを +することを想定しているなら、C<$ ASSIGN/nolog/user SYS$COMMAND: SYS$INPUT> に +注意してください。 =begin original @@ -2689,11 +2686,10 @@ =end original -For ODS-2, filenames are in the format "name.extension;version". The -maximum length for filenames is 39 characters, and the maximum length for -extensions is also 39 characters. Version is a number from 1 to -32767. Valid characters are C</[A-Z0-9$_-]/>. -(TBT) +ODS-2 では、ファイル名は "name.extension;version" の形式です。 +ファイル名の最大長は 39 文字で、拡張子の最大長も 39 文字です。 +version は 1 から 32767 の数値です。 +妥当な文字は C</[A-Z0-9$_-]/> です。 =begin original @@ -2702,9 +2698,9 @@ =end original -The ODS-2 filesystem is case-insensitive and does not preserve case. -Perl simulates this by converting all filenames to lowercase internally. -(TBT) +ODS-2 ファイルシステムでは大文字小文字を無視し、大文字小文字を保存しません。 +Perl は、全てのファイル名を内部で小文字に変換することでこれを +シミュレートします。 =begin original @@ -2720,16 +2716,16 @@ =end original -For ODS-5, filenames may have almost any character in them and can include -Unicode characters. Characters that could be misinterpreted by the DCL -shell or file parsing utilities need to be prefixed with the C<^> -character, or replaced with hexadecimal characters prefixed with the -C<^> character. Such prefixing is only needed with the pathnames are -in VMS format in applications. Programs that can accept the UNIX format -of pathnames do not need the escape characters. The maximum length for -filenames is 255 characters. The ODS-5 file system can handle both -a case preserved and a case sensitive mode. -(TBT) +ODS-5 では、ファイル名はほとんどどんな文字でも使え、Unicode 文字も使えます。 +DCL シェルやファイルパースユーティリティによって誤解釈されるかもしれない +文字は C<^> 文字を前置するか、C<^> 文字を前置した 16 進文字で置き換える +必要があります。 +このような前置はパス名がアプリケーション中で VMS 形式の時にのみ必要です。 +UNIX 形式のパス名を受け付けるプログラムは文字をエスケープする必要は +ありません。 +ファイル名の最大長は 255 文字です。 +ODS-5 ファイルシステムは大文字小文字を保存して大文字小文字を認識するモードの +両方を扱えます。 =begin original @@ -2747,10 +2743,8 @@ =end original -Support for the extended file specifications is being done as optional -settings to preserve backward compatibility with Perl scripts that -assume the previous VMS limitations. -(TBT) +拡張ファイル仕様対応は以前の VMS の制限を仮定する Perl スクリプトとの +後方互換性を保存するためにオプションの設定として行われます。 =begin original @@ -2761,11 +2755,9 @@ =end original -In general routines on VMS that get a UNIX format file specification -should return it in a UNIX format, and when they get a VMS format -specification they should return a VMS format unless they are documented -to do a conversion. -(TBT) +VMS で UNIX 形式ファイル仕様を使う一般的なルーチンでは、UNIX 形式で +返すべきで、VMS 形式仕様を受け取った場合は、変換すると文書化されていない限り +VMS 形式を返すべきです。 =begin original @@ -2775,10 +2767,8 @@ =end original -For routines that generate return a file specification, VMS allows setting -if the C library which Perl is built on if it will be returned in VMS -format or in UNIX format. -(TBT) +返すファイル定義を生成するルーチンでは、VMS では Perl がビルドされた +C ライブラリが VMS 形式を返すか UNIX 形式を返すかを設定できます。 =begin original @@ -2788,10 +2778,9 @@ =end original -With the ODS-2 file system, there is not much difference in syntax of -filenames without paths for VMS or UNIX. With the extended character -set available with ODS-5 there can be a significant difference. -(TBT) +ODS-2 ファイルシステムでは、パスを除くファイル名の文法は +VMS や UNIX とあまり変わりません。 +ODS-5 で利用可能な拡張文字集合では大きな違いがあります。 =begin original @@ -2802,11 +2791,10 @@ =end original -Because of this, existing Perl scripts written for VMS were sometimes -treating VMS and UNIX filenames interchangeably. Without the extended -character set enabled, this behavior will mostly be maintained for -backwards compatibility. -(TBT) +このため、VMS のために書かれた既にある Perl スクリプトは時毒 +VMS と UNIX ファイル名を交換可能としています。 +拡張文字集合が有効でなければ、この振る舞いはほとんど後方互換性のために +維持されています。 =begin original @@ -2815,9 +2803,8 @@ =end original -When extended characters are enabled with ODS-5, the handling of -UNIX formatted file specifications is to that of a UNIX system. -(TBT) +ODS-5 で拡張文字が有効の場合、UNIX 形式のファイル仕様の扱いは +UNIX システムのものです。 =begin original @@ -2826,9 +2813,8 @@ =end original -VMS file specifications without extensions have a trailing dot. An -equivalent UNIX file specification should not show the trailing dot. -(TBT) +拡張子なしの VMS ファイル仕様は末尾にドットがあります。 +等価な UNIX ファイル仕様は末尾のドットを表示しないべきです。 =begin original @@ -2839,11 +2825,10 @@ =end original -The result of all of this, is that for VMS, for portable scripts, you -can not depend on Perl to present the filenames in lowercase, to be -case sensitive, and that the filenames could be returned in either -UNIX or VMS format. -(TBT) +これら全ての結果として、VMS での移植性のあるスクリプトとしては、Perl が +ファイル名が小文字で表現されていたり、大文字小文字を区別したり、 +ファイル名が UNIX または VMS 形式のどちらかで返されるということに +依存できません。 =begin original @@ -2852,9 +2837,8 @@ =end original -And if a routine returns a file specification, unless it is intended to -convert it, it should return it in the same format as it found it. -(TBT) +そしてあるルーチンがあるファイル仕様を返すなら、それが変換を意図していない +限り、見つけたのと同じ形式で返されるべきです。 =begin original @@ -2864,10 +2848,9 @@ =end original -C<readdir> by default has traditionally returned lowercased filenames. -When the ODS-5 support is enabled, it will return the exact case of the -filename on the disk. -(TBT) +デフォルトの C<readdir> は伝統的に小文字のファイル名を返します。 +ODS-5 対応が有効のとき、ディスク上のファイル名の正確な大文字小文字を +返します。 =begin original @@ -2878,11 +2861,9 @@ =end original -Files without extensions have a trailing period on them, so doing a -C<readdir> in the default mode with a file named F<A.;5> will -return F<a.> when VMS is (though that file could be opened with -C<open(FH, 'A')>). -(TBT) +拡張子なしのファイルは末尾にピリオドが突いているので、F<A.;5> という名前に +デフォルトモードで C<readdir> を行うと、VMS では F<a.> を返します(しかしこの +ファイルは C<open(FH, 'A')> で開けます). =begin original @@ -2894,12 +2875,11 @@ =end original -With support for extended file specifications and if C<opendir> was -given a UNIX format directory, a file named F<A.;5> will return F<a> -and optionally in the exact case on the disk. When C<opendir> is given -a VMS format directory, then C<readdir> should return F<a.>, and -again with the optionally the exact case. -(TBT) +拡張ファイル仕様に対応していて C<opendir> が UNIX 形式のディレクトリを +与えられると、F<A.;5> という名前のファイルは F<a> を返し、オプションとして +ディスク上の正確な大文字小文字を返します。 +C<opendir> が VMS 形式ディレクトリを与えられると、C<readdir> は F<a.> を +返し、オプションとして正確な大文字小文字を返します。 =begin original @@ -2912,13 +2892,12 @@ =end original -RMS had an eight level limit on directory depths from any rooted logical -(allowing 16 levels overall) prior to VMS 7.2, and even with versions of -VMS on VAX up through 7.3. Hence C<PERL_ROOT:[LIB.2.3.4.5.6.7.8]> is a -valid directory specification but C<PERL_ROOT:[LIB.2.3.4.5.6.7.8.9]> is -not. F<Makefile.PL> authors might have to take this into account, but at -least they can refer to the former as C</PERL_ROOT/lib/2/3/4/5/6/7/8/>. -(TBT) +VMS 7.2 以前および、VAX の VMS では 7.3 も、RMS には任意の論理ルートからの +ディレクトリの深さは8 レベルに制限されています(全体では 16 レベル)。 +従って C<PERL_ROOT:[LIB.2.3.4.5.6.7.8]> は妥当なディレクトリ指定ですが +C<PERL_ROOT:[LIB.2.3.4.5.6.7.8.9]> は違います。 +F<Makefile.PL> の作者はこれを考えに入れておく必要があるかもしれませんが、 +少なくとも前者は C</PERL_ROOT/lib/2/3/4/5/6/7/8/> として参照できます。 =begin original @@ -2928,10 +2907,9 @@ =end original -Pumpkings and module integrators can easily see whether files with too many -directory levels have snuck into the core by running the following in the -top-level source directory: -(TBT) +パンプキングとモジュール統合者は、以下をトップレベルソースディレクトリで +実行することで、深すぎるディレクトリレベルを持つファイルがコアを +ハングさせるかどうかを簡単に調べられます: $ perl -ne "$_=~s/\s+.*//; print if scalar(split /\//) > 8;" < MANIFEST @@ -2946,12 +2924,11 @@ =end original -The VMS::Filespec module, which gets installed as part of the build -process on VMS, is a pure Perl module that can easily be installed on -non-VMS platforms and can be helpful for conversions to and from RMS -native formats. It is also now the only way that you should check to -see if VMS is in a case sensitive mode. -(TBT) +VMS のビルドプロセスの一部としてインストールされる +VMS::Filespec モジュールは簡単に非 VMS プラットフォームにインストール出来て +RSM ネイティブ形式との変換の助けとなるピュア Perl モジュールです。 +これはいまでは VMS が大文字小文字を区別するモードかどうかをチェックする +唯一の方法です。 =begin original @@ -2963,12 +2940,12 @@ =end original -What C<\n> represents depends on the type of file opened. It usually -represents C<\012> but it could also be C<\015>, C<\012>, C<\015\012>, -C<\000>, C<\040>, or nothing depending on the file organization and -record format. The VMS::Stdio module provides access to the -special fopen() requirements of files with unusual attributes on VMS. -(TBT) +C<\n> が表現しているものはファイルを開く種類に依存します。 +普通は C<\012> を表現しますが、ファイルの構成や記録形式に依存して +C<\015>, C<\012>, C<\015\012>, C<\000>, C<\040> あるいは +何もなしかもしれません。 +VMS::Stdio モジュールは VMS での普通でない属性付きのファイルの +特殊な fopen() へのアクセスを提供します。 =begin original @@ -2977,9 +2954,9 @@ =end original -TCP/IP stacks are optional on VMS, so socket routines might not be -implemented. UDP sockets may not be supported. -(TBT) +TCP/IP スタックは VMS ではオプションなので、ソケットルーチンは +実装されていません。 +UDP ソケットは対応していません。 =begin original @@ -2989,10 +2966,9 @@ =end original -The TCP/IP library support for all current versions of VMS is dynamically -loaded if present, so even if the routines are configured, they may -return a status indicating that they are not implemented. -(TBT) +現在の全てのバージョンの VMS の TCP/IP ライブラリ対応は、もしあれば +動的に読み込まれるので、ルーチンが設定されていたとしても、 +未実装を湿るステータスを返すかもしれません。 =begin original @@ -3002,10 +2978,9 @@ =end original -The value of C<$^O> on OpenVMS is "VMS". To determine the architecture -that you are running on without resorting to loading all of C<%Config> -you can examine the content of the C<@INC> array like so: -(TBT) +OpenVMS での C<$^O> の値は "VMS" です。 +C<%Config> を全て読み込むという手段を使わずに実行しているアーキテクチャを +決定するには、以下のようにして @INC 配列の中身を確認します: if (grep(/VMS_AXP/, @INC)) { print "I'm on Alpha!\n"; @@ -3027,9 +3002,8 @@ =end original -In general, the significant differences should only be if Perl is running -on VMS_VAX or one of the 64 bit OpenVMS platforms. -(TBT) +一般的に、顕著な違いは Perl が VMS_VAX または 64 ビット OpenVMS +プラットフォームのどれかで実行されているときにのみあります。 =begin original @@ -3040,11 +3014,10 @@ =end original -On VMS, perl determines the UTC offset from the C<SYS$TIMEZONE_DIFFERENTIAL> -logical name. Although the VMS epoch began at 17-NOV-1858 00:00:00.00, -calls to C<localtime> are adjusted to count offsets from -01-JAN-1970 00:00:00.00, just like Unix. -(TBT) +VMS では、perl は UTC オフセットを C<SYS$TIMEZONE_DIFFERENTIAL> 論理名から +決定します。 +VMS の紀元は 17-NOV-1858 00:00:00.00 に始まりますが、C<localtime> の呼び出しは +Unix と同様 01-JAN-1970 00:00:00.00 からのオフセットに調整されます。 =begin original @@ -3128,14 +3101,15 @@ =end original -Even though VOS allows the slash character to appear in object -names, because the VOS port of Perl interprets it as a pathname -delimiting character, VOS files, directories, or links whose names -contain a slash character cannot be processed. Such files must be -renamed before they can be processed by Perl. Note that VOS limits -file names to 32 or fewer characters, file names cannot start with a -C<-> character, or contain any character matching C<< tr/ !%&'()*+;<>?// >> -(TBT) +VOS はオブジェクト名としてスラッシュ文字が現れることを許していますが、 +VOS 版の Perl インタプリタはこれをパス名を分割する文字として解釈するので、 +名前にスラッシュ文字を含む VOS ファイル、ディレクトリ、リンクは +処理できません。 +このようなファイルは Perl によって処理される前に +リネームされなければなりません。 +VOS はファイル名を 32 文字以下に制限していたり、ファイル名を C<-> 文字で +始められなかったり、C<< tr/ !%&'()*+;<>?// >> にマッチングする +文字を含むことができないことに注意してください。 =begin original @@ -3145,10 +3119,9 @@ =end original -The value of C<$^O> on VOS is "VOS". To determine the architecture that -you are running on without resorting to loading all of C<%Config> you -can examine the content of the @INC array like so: -(TBT) +VOS での C<$^O> の値は "VOS" です。 +C<%Config> を全て読み込むという手段を使わずに実行しているアーキテクチャを +決定するには、以下のようにして @INC 配列の中身を確認します: if ($^O =~ /VOS/) { print "I'm on a Stratus box!\n"; @@ -3196,11 +3169,11 @@ =end original -There is no specific mailing list for Perl on VOS. You can post -comments to the comp.sys.stratus newsgroup, or subscribe to the general -Stratus mailing list. Send a letter with "subscribe Info-Stratus" in -the message body to major****@list*****. -(TBT) +VOS での Perl 専用のメーリングリストはありません。 +comp.sys.stratus ニュースグループに投稿するか、一般的な +Stratus メーリングリストを購読してください。 +メッセージ本文に"subscribe Info-Stratus" と書いて +majo****@list***** にメールを送ってください。 =item * @@ -3236,15 +3209,16 @@ 最近のバージョンの Perl は AS/400 マイクロコンピュータでの OS/400、 S/390 メインフレームでの OS/390, VM/ESA, BS2000 のようなプラットフォームに 移植されています。 -Such computers use EBCDIC character sets internally (usually -Character Code Set ID 0037 for OS/400 and either 1047 or POSIX-BC for S/390 -systems). On the mainframe perl currently works under the "Unix system -services for OS/390" (formerly known as OpenEdition), VM/ESA OpenEdition, or -the BS200 POSIX-BC system (BS2000 is supported in perl 5.6 and greater). -See L<perlos390> for details. Note that for OS/400 there is also a port of -Perl 5.8.1/5.9.0 or later to the PASE which is ASCII-based (as opposed to -ILE which is EBCDIC-based), see L<perlos400>. -(TBT) +このようなコンピュータは内部で EBCDIC 文字集合 (通常は +OS/400 では Character Code Set ID 0037、S/390 では 1047 または POSIX-BC の +どちらか) を内部で使います。 +メインフレーム perl は現在のところ "Unix system services for OS/390" +(以前は OpenEdition として知られていたもの), VM/ESA OpenEdition, +BS200 POSIX-BC システムで動作します (BS2000 は 5.6 以降で対応します)。 +詳しくは L<perlos390> を参照してください。 +OS/400 には (EBCDIC ベースの ILE ではなく) ASCII ベースの PASE への +Perl 5.8.1/5.9.0 以降の移植もあることに注意してください; L<perlos400> を +参照してください。 =begin original @@ -3255,11 +3229,11 @@ =end original -As of R2.5 of USS for OS/390 and Version 2.3 of VM/ESA these Unix -sub-systems do not support the C<#!> shebang trick for script invocation. -Hence, on OS/390 and VM/ESA perl scripts can be executed with a header -similar to the following simple script: -(TBT) +OS/390 の USS の R2.5 および VM/ESA のバージョン 2.3 以降、 +これらの Unix 副システムはスクリプトの起動のための C<#!> トリックに +対応しなくなりました。 +従って、OS/390 と VM/ESA では perl スクリプトは以下のような単純な +スクリプトと似たヘッダ付きで実行できます: : # use perl eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}' @@ -3276,10 +3250,9 @@ =end original -OS/390 will support the C<#!> shebang trick in release 2.8 and beyond. -Calls to C<system> and backticks can use POSIX shell syntax on all -S/390 systems. -(TBT) +OS/390 はリリース 2.8 以降、C<#!> トリックに対応しています。 +C<system> と逆クォートの呼び出しは全ての S/390 システムで POSIX シェル文法を +使います。 =begin original @@ -3288,9 +3261,8 @@ =end original -On the AS/400, if PERL5 is in your library list, you may need -to wrap your perl scripts in a CL procedure to invoke them like so: -(TBT) +AS/400 では、ライブラリリストに PERL5 があれば、以下のようにして CL 手続きで +perl スクリプトをラップする必要があります: BEGIN CALL PGM(PERL5/PERL) PARM('/QOpenSys/hello.pl') @@ -3304,10 +3276,10 @@ =end original -This will invoke the perl script F<hello.pl> in the root of the -QOpenSys file system. On the AS/400 calls to C<system> or backticks -must use CL syntax. -(TBT) +これは QOpenSys ファイルシステムのルートにある perl スクリプト +F<hello.pl> を起動します。 +AS/400 では C<system> や逆クォートの呼び出しは CL 文法を +使わなければなりません。 =begin original @@ -3320,13 +3292,12 @@ =end original -On these platforms, bear in mind that the EBCDIC character set may have -an effect on what happens with some perl functions (such as C<chr>, -C<pack>, C<print>, C<printf>, C<ord>, C<sort>, C<sprintf>, C<unpack>), as -well as bit-fiddling with ASCII constants using operators like C<^>, C<&> -and C<|>, not to mention dealing with socket interfaces to ASCII computers -(see L<"Newlines">). -(TBT) +これらのプラットフォームでは、(C<chr>, +C<pack>, C<print>, C<printf>, C<ord>, C<sort>, C<sprintf>, C<unpack> +のような) 一部の perl の関数および、C<^>, C<&>, C<|> のような演算子を使った +ASCII 定数のビット操作での効果が EBCDIC 文字では異なることがあることに +注意してください; ASCII コンピュータへのソケットインターフェースを +扱うことを言及しません (L<"Newlines"> 参照)。 =begin original @@ -3336,10 +3307,9 @@ =end original -Fortunately, most web servers for the mainframe will correctly -translate the C<\n> in the following statement to its ASCII equivalent -(C<\r> is the same under both Unix and OS/390 & VM/ESA): -(TBT) +幸いにも、メインフレームのほとんどの web サーバは以下の文の C<\n> を +ASCII の等価物に正しく変換します +(C<\r> は Unix と OS/390 & VM/ESA で同じです): print "Content-type: text/html\r\n\r\n"; @@ -3365,9 +3335,8 @@ =end original -Some simple tricks for determining if you are running on an EBCDIC -platform could include any of the following (perhaps all): -(TBT) +EBCDIC プラットフォームで実行されているかどうかを決定するための +単純なトリックとしては、以下のどれか(おそらく全て)があります: if ("\t" eq "\05") { print "EBCDIC may be spoken here!\n"; } @@ -3384,11 +3353,10 @@ =end original -One thing you may not want to rely on is the EBCDIC encoding -of punctuation characters since these may differ from code page to code -page (and once your module or script is rumoured to work with EBCDIC, -folks will want it to work with all EBCDIC character sets). -(TBT) +依存したいと思わないだろうことの一つは、句読点文字の +EBCDIC エンコードでしょう; これらはコードページによって異なるからです +(そして一旦あなたのモジュールやスクリプトが EBCDIC で動作すると噂されると、 +人々は全ての EBCDIC 文字集合で動作することを求めます)。 =begin original @@ -3422,10 +3390,10 @@ =end original -The perl-****@perl***** list is for discussion of porting issues as well as -general usage issues for all EBCDIC Perls. Send a message body of -"subscribe perl-mvs" to major****@perl*****. -(TBT) +perl****@perl***** メーリングリストは移植の問題および全ての EBCDIC Perl に +関する一般的な使用法について議論するための物です。 +メッセージ本体に "subscribe perl-mvs" と書いて major****@perl***** に +送ってください。 =item * @@ -3439,8 +3407,7 @@ AS/400 Perl information at http://as400.rochester.ibm.com/ -as well as on CPAN in the F<ports/> directory. -(TBT) +および CPAN の F<ports/> ディレクトリ。 =back @@ -3469,7 +3436,7 @@ ネイティブなファイルシステムの一部は名前の長さに制限があり、 ファイル名とディレクトリ名は収まるように暗黙に切り詰められます。 スクリプトは、標準ファイルシステムは名前の長さが B<10> に制限され、一つの -ディレクトリに77 アイテムまでに制限されることに注意するべきです。 +ディレクトリに77 アイテムまでに制限されることに注意するべきです; しかし他のファイルシステムはこのような制限はないかもしれません。 =begin original @@ -3515,10 +3482,9 @@ =end original -Note that C<"ADFS::HardDisk.$.File" ne 'ADFS::HardDisk.$.File'> and that -the second stage of C<$> interpolation in regular expressions will fall -foul of the C<$.> if scripts are not careful. -(TBT) +C<"ADFS::HardDisk.$.File" ne 'ADFS::HardDisk.$.File'> と、正規表現中の +C<$> 展開の第 2 ステージは、スクリプトが注意深くなければ C<$.> を +落とすことに注意してください。 =begin original @@ -3536,18 +3502,18 @@ =end original -Logical paths specified by system variables containing comma-separated -search lists are also allowed; hence C<System:Modules> is a valid -filename, and the filesystem will prefix C<Modules> with each section of -C<System$Path> until a name is made that points to an object on disk. -Writing to a new file C<System:Modules> would be allowed only if -C<System$Path> contains a single item list. The filesystem will also -expand system variables in filenames if enclosed in angle brackets, so -C<< <System$Dir>.Modules >> would look for the file -S<C<$ENV{'System$Dir'} . 'Modules'>>. The obvious implication of this is -that B<fully qualified filenames can start with C<< <> >>> and should -be protected when C<open> is used for input. -(TBT) +カンマ区切りの検索リストを含むシステム変数で指定された論理パスも使えます; +従って C<System:Modules> は妥当なファイル名で、 +ファイルシステムは、名前がディスク上のオブジェクトを指すようになるまで +C<System$Path> のそれぞれの部分に C<Modules> を前置します。 +C<System$Path> に単一のアイテムリストが含まれている場合にのみ、 +新しいファイル C<System:Modules> に書き込めます。 +ファイルシステムはファイル名にシステム変数が角かっこで囲まれていると +展開するので、 C<< <System$Dir>.Modules >> は +S<C<$ENV{'System$Dir'} . 'Modules'>> というファイルを探します。 +ここから明らかに推測されることは、 +B<完全修飾ファイル名は C<< <> >> で始まることがあり>、C<open> が +入力で使われるときは保護されるべきということです。 =begin original @@ -3559,12 +3525,12 @@ =end original -Because C<.> was in use as a directory separator and filenames could not -be assumed to be unique after 10 characters, Acorn implemented the C -compiler to strip the trailing C<.c> C<.h> C<.s> and C<.o> suffix from -filenames specified in source code and store the respective files in -subdirectories named after the suffix. Hence files are translated: -(TBT) +C<.> がディレクトリセパレータとして使われていて、ファイル名の 10 文字目 +以降はユニークであると仮定できないので、Acorn はソースコード中に指定された +ファイル名から末尾の C<.c> C<.h> C<.s>, C<.o> 拡張子を切り落として、 +拡張子の名前のサブディレクトリにそれぞれのファイルを保管するような形で +C コンパイラを実装しました。 +従ってファイルは変換されます: foo.h h.foo C:foo.h C:h.foo (logical path variable) @@ -3585,14 +3551,14 @@ =end original -The Unix emulation library's translation of filenames to native assumes -that this sort of translation is required, and it allows a user-defined list -of known suffixes that it will transpose in this fashion. This may -seem transparent, but consider that with these rules C<foo/bar/baz.h> -and C<foo/bar/h/baz> both map to C<foo.bar.h.baz>, and that C<readdir> and -C<glob> cannot and do not attempt to emulate the reverse mapping. Other -C<.>'s in filenames are translated to C</>. -(TBT) +Unix エミュレーションライブラリのファイル名のネイティブへの変換は +この種の変換が必要であることを仮定していて、この方法で入れ替える既知の +拡張子のリストをユーザー定義できるようになっています。 +これは透過的に思えますが、これらの規則では C<foo/bar/baz.h> と +C<foo/bar/h/baz> の両方が C<foo.bar.h.baz> にマッピングされ、C<readdir> と +C<glob> は逆マッピングのエミュレートを試みることができないことを +考慮してください。 +ファイル名中のその他の C<.> は C</> に変換されます。 =begin original @@ -3608,16 +3574,15 @@ =end original -As implied above, the environment accessed through C<%ENV> is global, and -the convention is that program specific environment variables are of the -form C<Program$Name>. Each filesystem maintains a current directory, -and the current filesystem's current directory is the B<global> current -directory. Consequently, sociable programs don't change the current -directory but rely on full pathnames, and programs (and Makefiles) cannot -assume that they can spawn a child process which can change the current -directory without affecting its parent (and everyone else for that -matter). -(TBT) +すでに暗示したように、C<%ENV> を通してアクセスする環境はグローバルで、 +プログラム固有環境変数は C<Program$Name> の形に変換されます。 +それぞれのファイルシステムはカレントディレクトリを管理し、現在の +ファイルシステムのカレントディレクトリは B<グローバルな> +カレントディレクトリです。 +従って、社交的なプログラムはカレントディレクトリを変更せずに +フルパス名に頼り、プログラム(および Makefile) は親 (およびこの意味では +その他あらゆるもの)に影響を与えずにカレントディレクトリを変更できる +子プロセスを作成できると仮定できません。 =begin original @@ -3628,11 +3593,11 @@ =end original -Because native operating system filehandles are global and are currently -allocated down from 255, with 0 being a reserved value, the Unix emulation -library emulates Unix filehandles. Consequently, you can't rely on -passing C<STDIN>, C<STDOUT>, or C<STDERR> to your children. -(TBT) +ネイティブオペレーティングシステムファイルハンドルはグローバルで +現在のところ 255 から下向きに割り当てられ、0 は予約された値なので、 +Unix エミュレーションライブラリは Unix ファイルハンドルをエミュレートします。 +従って、C<STDIN>, C<STDOUT>, C<STDERR> を子プロセスに渡すことに +頼れません。 =begin original @@ -3648,16 +3613,14 @@ =end original -The desire of users to express filenames of the form -C<< <Foo$Dir>.Bar >> on the command line unquoted causes problems, -too: C<``> command output capture has to perform a guessing game. It -assumes that a string C<< <[^<>]+\$[^<>]> >> is a -reference to an environment variable, whereas anything else involving -C<< < >> or C<< > >> is redirection, and generally manages to be 99% -right. Of course, the problem remains that scripts cannot rely on any -Unix tools being available, or that any tools found have Unix-like command -line arguments. -(TBT) +コマンドラインでクォートなしに C<< <Foo$Dir>.Bar >> 形式のファイル名を +記述するというユーザーの欲求も問題を引き起こします: C<``> コマンド出力 +捕捉は推論ゲームをする必要があります。 +C<< <[^<>]+\$[^<>]> >> は環境変数の参照、それ以外の C<< < >> や C<< > >> が +関係する全てはリダイレクトと推測し、これは一般的に何とか 99% は正しいです。 +もちろん、スクリプトはどの Unix ツールが利用可能であることや、見つけた +ツールが Unix 風のコマンドライン引数を取ることには頼れないという問題は +残っています。 =begin original @@ -3671,14 +3634,14 @@ =end original -Extensions and XS are, in theory, buildable by anyone using free -tools. In practice, many don't, as users of the Acorn platform are -used to binary distributions. MakeMaker does run, but no available -make currently copes with MakeMaker's makefiles; even if and when -this should be fixed, the lack of a Unix-like shell will cause -problems with makefile rules, especially lines of the form C<cd -sdbm && make all>, and anything using quoting. -(TBT) +エクステンションと XS は、理論的には、自由なツールを使って誰でも +ビルドできます。 +実際には、多くの人はできません; Acorn プラットフォームのユーザーは +バイナリ配布を使っているからです。 +MakeMaker は実行できますが、現在のところ MakeMaker の makefile を処理できる +make はありません; たとえこれが修正されても、Unix 風シェルがないので +makefile 規則で問題が起こります; 特に C<cd sdbm && make all> 形式の行や、 +クォートを使ったものです。 =begin original @@ -3687,9 +3650,8 @@ =end original -"S<RISC OS>" is the proper name for the operating system, but the value -in C<$^O> is "riscos" (because we don't like shouting). -(TBT) +"S<RISC OS>" はオペレーティングシステムの適切な名前ですが、C<$^O> の値は +"riscos" (大文字は好まないからです)。 =head2 Other perls @@ -4020,8 +3982,9 @@ 様々な CPU、数値演算ライブラリ、コンパイラ、標準の問題により、C<atan2()> の 結果は上述の組み合わせに依存して様々に異なります。 Perl は C<atan2()> から返される結果を Open Group/IEEE 標準に -準拠させようとしますが、システムの Perl がそれを許さないところ -(Tru64, HP-UX 10.20) で動作している場合は問題を強制させることはできません。 +準拠させようとしますが、システムの Perl がそれを許さないところで +動作している場合は問題を強制させることはできません。 +(Tru64, HP-UX 10.20) =begin original @@ -5398,6 +5361,7 @@ ネイティブな条件コードが POSIX 値をエンコードしたものなら、 POSIX 値は想定される終了コードを展開するためにデコードされます。 さらなる詳細については L<perlvms/$?> を参照してください。 +(VMS) =item times @@ -5795,7 +5759,7 @@ =begin meta Translate: SHIRAKATA Kentaro <argra****@ub32*****> -Status: in progress +Status: completed =end meta