名前¶
perl - Practical Extraction and Report Language
perl - Practical Extraction and Report Language
概要¶
perl [ -sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]'module...' ] [ -f ] [ -C [number/list] ] [ -P ] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E] 'command' ] [ -- ] [ programfile ] [ argument ]...
If you're new to Perl, you should start with perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl's extensive documentation.
もし Perl が初めてなら、 perlintro から始めるのがよいでしょう; これは初心者のための全体的な導入であり、Perl の豊富なドキュメントの残りを 読むのを助ける、いくらかの背景を提供します。
For ease of access, the Perl manual has been split up into several sections.
参照しやすいように Perl のマニュアルは、いくつかの節に分割しています。
概観¶
perl Perl overview (this section)
perlintro Perl introduction for beginners
perltoc Perl documentation table of contents
perl Perl の概観(この章)
perlintro 初心者のための Perl の手引き
perltoc Perl 文書の目次
チュートリアル¶
perlreftut Perl references short introduction
perldsc Perl data structures intro
perllol Perl data structures: arrays of arrays
perlreftut Perl リファレンスの短い手引き
perldsc Perl データ構造の手引き
perllol Perl データ構造: 配列の配列
perlrequick Perl regular expressions quick start
perlretut Perl regular expressions tutorial
perlrequick Perl 正規表現クイックスタート
perlretut Perl 正規表現のチュートリアル
perlboot Perl OO tutorial for beginners
perltoot Perl OO tutorial, part 1
perltooc Perl OO tutorial, part 2
perlbot Perl OO tricks and examples
perlboot 初心者のための Perl OO チュートリアル
perltoot Perl OO チュートリアル、第 1 部
perltooc Perl OO チュートリアル、第 2 部
perlbot Perl OO トリックと例
perlperf Perl Performance and Optimization Techniques
perlperf Perl のパフォーマンスと最適化のテクニック
perlstyle Perl style guide
perlstyle Perl スタイルガイド
perlcheat Perl cheat sheet
perltrap Perl traps for the unwary
perldebtut Perl debugging tutorial
perlcheat Perl チートシート
perltrap 不注意による Perl のわな
perldebtut Perl デバッグチュートリアル
perlfaq Perl frequently asked questions
perlfaq1 General Questions About Perl
perlfaq2 Obtaining and Learning about Perl
perlfaq3 Programming Tools
perlfaq4 Data Manipulation
perlfaq5 Files and Formats
perlfaq6 Regexes
perlfaq7 Perl Language Issues
perlfaq8 System Interaction
perlfaq9 Networking
perlfaq Perl でよくある質問と答え
perlfaq1 Perl に関する一般的な質問
perlfaq2 Perl の入手と学習
perlfaq3 プログラミングツール
perlfaq4 データ操作
perlfaq5 ファイルとフォーマット
perlfaq6 正規表現
perlfaq7 Perl 言語に関することがら
perlfaq8 システムとの相互作用
perlfaq9 ネットワーク
リファレンスマニュアル¶
perlsyn Perl syntax
perldata Perl data structures
perlop Perl operators and precedence
perlsub Perl subroutines
perlfunc Perl built-in functions
perlopentut Perl open() tutorial
perlpacktut Perl pack() and unpack() tutorial
perlpod Perl plain old documentation
perlpodspec Perl plain old documentation format specification
perlrun Perl execution and options
perldiag Perl diagnostic messages
perllexwarn Perl warnings and their control
perldebug Perl debugging
perlvar Perl predefined variables
perlre Perl regular expressions, the rest of the story
perlrebackslash Perl regular expression backslash sequences
perlrecharclass Perl regular expression character classes
perlreref Perl regular expressions quick reference
perlref Perl references, the rest of the story
perlform Perl formats
perlobj Perl objects
perltie Perl objects hidden behind simple variables
perldbmfilter Perl DBM filters
perlsyn Perl の文法
perldata Perl のデータ構造
perlop Perl の演算子と優先順位
perlsub Perl のサブルーチン
perlfunc Perl の組み込み関数
perlopentut Perl の open() のチュートリアル
perlpacktut Perl の pack() と unpack() のチュートリアル
perlpod Perl plain old documentation
perlpodspec Perl plain old documentation 形式定義
perlrun Perl の実行とオプション
perldiag Perl の診断メッセージ
perllexwarn Perl の警告とその制御
perldebug Perl のデバッグ
perlvar Perl の定義済み変数
perlre Perl 正規表現; その他の話題
perlrebackslash Perl 正規表現バックスラッシュシーケンス
perlrecharclass Perl 正規表現文字クラス
perlreref Perl 正規表現クイックリファレンス
perlref Perl のリファレンス; その他の話題
perlform Perl のフォーマット
perlobj Perl のオブジェクト
perltie Perl の、単純な変数に隠されたオブジェクト
perldbmfilter Perl DBM フィルタ
perlipc Perl interprocess communication
perlfork Perl fork() information
perlnumber Perl number semantics
perlipc Perl のプロセス間通信
perlfork Perl の fork() 情報
perlnumber Perl の数値の意味論
perlthrtut Perl threads tutorial
perlothrtut Old Perl threads tutorial
perlthrtut Perl のスレッドのチュートリアル
perlothrtut 昔の Perl のスレッドのチュートリアル
perlport Perl portability guide
perllocale Perl locale support
perluniintro Perl Unicode introduction
perlunicode Perl Unicode support
perlunifaq Perl Unicode FAQ
perlunitut Perl Unicode tutorial
perlebcdic Considerations for running Perl on EBCDIC platforms
perlport Perl の移植性ガイド
perllocale Perl のロケール対応
perluniintro Perl の Unicode の紹介
perlunicode Perl の Unicode 対応
perlunifaq Perl の Unicode FAQ
perlunitut Perl の Unicode のチュートリアル
perlebcdic EBCDIC プラットフォームで Perl を実行する際の検討材料
perlsec Perl security
perlsec Perl のセキュリティ
perlmod Perl modules: how they work
perlmodlib Perl modules: how to write and use
perlmodstyle Perl modules: how to write modules with style
perlmodinstall Perl modules: how to install from CPAN
perlnewmod Perl modules: preparing a new module for distribution
perlpragma Perl modules: writing a user pragma
perlmod Perl モジュール: どのように動作するか
perlmodlib Perl モジュール: 書き方と使い方
perlmodstyle Perl モジュール: 上品なモジュールの書き方
perlmodinstall Perl モジュール: CPAN からのインストールの仕方
perlnewmod Perl モジュール: 新しいモジュールの配布の準備
perlpragma Perl モジュール: ユーザープラグマを書く
perlutil utilities packaged with the Perl distribution
perlutil Perl 配布に含まれるユーティリティ
perlcompile Perl compiler suite intro
perlcompile Perl コンパイラ機能の紹介
perlfilter Perl source filters
perlfilter Perl ソースフィルタ
perlglossary Perl Glossary
perlglossary Perl 用語集
内部と C 言語インターフェース¶
perlembed Perl ways to embed perl in your C or C++ application
perldebguts Perl debugging guts and tips
perlxstut Perl XS tutorial
perlxs Perl XS application programming interface
perlclib Internal replacements for standard C library functions
perlguts Perl internal functions for those doing extensions
perlcall Perl calling conventions from C
perlmroapi Perl method resolution plugin interface
perlreapi Perl regular expression plugin interface
perlreguts Perl regular expression engine internals
perlembed C や C++ のアプリケーションに perl を組み込む方法
perldebguts Perl デバッグの内部と小技
perlxstut Perl XS のチュートリアル
perlxs Perl XS アプリケーションプログラミングインターフェース
perlclib 標準 C ライブラリ関数の内部置換
perlguts エクステンションのための Perl の内部関数
perlcall C からの Perl 呼び出し仕様
perlmroapi Perl メソッド解決プラグインインターフェース
perlreapi Perl 正規表現プラグインインターフェース
perlreguts Perl 正規表現エンジンの内部
perlapi Perl API listing (autogenerated)
perlintern Perl internal functions (autogenerated)
perliol C API for Perl's implementation of IO in Layers
perlapio Perl internal IO abstraction interface
perlapi Perl API 一覧 (自動生成)
perlintern Perl 内部関数 (自動生成)
perliol I/O 層の Perl での実装のための C API
perlapio Perl 内部l I/O 抽象インターフェース
perlhack Perl hackers guide
perlrepository Perl source repository
その他¶
perlbook Perl book information
perlcommunity Perl community information
perltodo Perl things to do
perlbook Perl の書籍情報
perlcommunity Perl のコミュニティ情報
perltodo Perl の「することリスト」
perldoc Look up Perl documentation in Pod format
perldoc Pod 形式の Perl ドキュメントを見る
perlhist Perl history records
perldelta Perl changes since previous version
perl5100delta Perl changes in version 5.10.0
perl595delta Perl changes in version 5.9.5
perl594delta Perl changes in version 5.9.4
perl593delta Perl changes in version 5.9.3
perl592delta Perl changes in version 5.9.2
perl591delta Perl changes in version 5.9.1
perl590delta Perl changes in version 5.9.0
perl588delta Perl changes in version 5.8.8
perl589delta Perl changes in version 5.8.9
perl587delta Perl changes in version 5.8.7
perl586delta Perl changes in version 5.8.6
perl585delta Perl changes in version 5.8.5
perl584delta Perl changes in version 5.8.4
perl583delta Perl changes in version 5.8.3
perl582delta Perl changes in version 5.8.2
perl581delta Perl changes in version 5.8.1
perl58delta Perl changes in version 5.8.0
perl573delta Perl changes in version 5.7.3
perl572delta Perl changes in version 5.7.2
perl571delta Perl changes in version 5.7.1
perl570delta Perl changes in version 5.7.0
perl561delta Perl changes in version 5.6.1
perl56delta Perl changes in version 5.6
perl5005delta Perl changes in version 5.005
perl5004delta Perl changes in version 5.004
perlhist Perl の歴史の記録
perldelta Perl の前回のバージョンからの変更点
perl5100delta Perl の変更点: バージョン 5.10.0
perl595delta Perl の変更点: バージョン 5.9.5
perl594delta Perl の変更点: バージョン 5.9.4
perl593delta Perl の変更点: バージョン 5.9.3
perl592delta Perl の変更点: バージョン 5.9.2
perl591delta Perl の変更点: バージョン 5.9.1
perl590delta Perl の変更点: バージョン 5.9.0
perl588delta Perl の変更点: バージョン 5.8.8
perl589delta Perl の変更点: バージョン 5.8.9
perl587delta Perl の変更点: バージョン 5.8.7
perl586delta Perl の変更点: バージョン 5.8.6
perl585delta Perl の変更点: バージョン 5.8.5
perl584delta Perl の変更点: バージョン 5.8.4
perl583delta Perl の変更点: バージョン 5.8.3
perl582delta Perl の変更点: バージョン 5.8.2
perl581delta Perl の変更点: バージョン 5.8.1
perl58delta Perl の変更点: バージョン 5.8.0
perl573delta Perl の変更点: バージョン 5.7.3
perl572delta Perl の変更点: バージョン 5.7.2
perl571delta Perl の変更点: バージョン 5.7.1
perl570delta Perl の変更点: バージョン 5.7.0
perl561delta Perl の変更点: バージョン 5.6.1
perl56delta Perl の変更点: バージョン 5.6
perl5005delta Perl の変更点: バージョン 5.005
perl5004delta Perl の変更点: バージョン 5.004
perlartistic Perl Artistic License
perlgpl GNU General Public License
perlartistic Perl Artistic License
perlgpl GNU General Public License
言語特有¶
perlcn Perl for Simplified Chinese (in EUC-CN)
perljp Perl for Japanese (in EUC-JP)
perlko Perl for Korean (in EUC-KR)
perltw Perl for Traditional Chinese (in Big5)
perlcn Perl 情報: 簡体中国語 (EUC-CN)
perljp Perl 情報: 日本語 (EUC-JP)
perlko Perl 情報: 韓国語 (EUC-KR)
perltw Perl 情報: 繁体中国語 (Big5)
プラットフォーム特有¶
perlaix Perl notes for AIX
perlamiga Perl notes for AmigaOS
perlapollo Perl notes for Apollo DomainOS
perlbeos Perl notes for BeOS
perlbs2000 Perl notes for POSIX-BC BS2000
perlce Perl notes for WinCE
perlcygwin Perl notes for Cygwin
perldgux Perl notes for DG/UX
perldos Perl notes for DOS
perlepoc Perl notes for EPOC
perlfreebsd Perl notes for FreeBSD
perlhaiku Perl notes for Haiku
perlhpux Perl notes for HP-UX
perlhurd Perl notes for Hurd
perlirix Perl notes for Irix
perllinux Perl notes for Linux
perlmachten Perl notes for Power MachTen
perlmacos Perl notes for Mac OS (Classic)
perlmacosx Perl notes for Mac OS X
perlmint Perl notes for MiNT
perlmpeix Perl notes for MPE/iX
perlnetware Perl notes for NetWare
perlopenbsd Perl notes for OpenBSD
perlos2 Perl notes for OS/2
perlos390 Perl notes for OS/390
perlos400 Perl notes for OS/400
perlplan9 Perl notes for Plan 9
perlqnx Perl notes for QNX
perlriscos Perl notes for RISC OS
perlsolaris Perl notes for Solaris
perlsymbian Perl notes for Symbian
perltru64 Perl notes for Tru64
perluts Perl notes for UTS
perlvmesa Perl notes for VM/ESA
perlvms Perl notes for VMS
perlvos Perl notes for Stratus VOS
perlwin32 Perl notes for Windows
perlaix Perl 情報: AIX
perlamiga Perl 情報: AmigaOS
perlapollo Perl 情報: Apollo DomainOS
perlbeos Perl 情報: BeOS
perlbs2000 Perl 情報: POSIX-BC BS2000
perlce Perl 情報: WinCE
perlcygwin Perl 情報: Cygwin
perldgux Perl 情報: DG/UX
perldos Perl 情報: DOS
perlepoc Perl 情報: EPOC
perlfreebsd Perl 情報: FreeBSD
perlhaiku Perl 情報: Haiku
perlhpux Perl 情報: HP-UX
perlhurd Perl 情報: Hurd
perlirix Perl 情報: Irix
perllinux Perl 情報: Linux
perlmachten Perl 情報: Power MachTen
perlmacos Perl 情報: Mac OS (Classic)
perlmacosx Perl 情報: Mac OS X
perlmint Perl 情報: MiNT
perlmpeix Perl 情報: MPE/iX
perlnetware Perl 情報: NetWare
perlopenbsd Perl 情報: OpenBSD
perlos2 Perl 情報: OS/2
perlos390 Perl 情報: OS/390
perlos400 Perl 情報: OS/400
perlplan9 Perl 情報: Plan 9
perlqnx Perl 情報: QNX
perlriscos Perl 情報: RISC OS
perlsolaris Perl 情報: Solaris
perlsymbian Perl 情報: Symbian
perltru64 Perl 情報: Tru64
perluts Perl 情報: UTS
perlvmesa Perl 情報: VM/ESA
perlvms Perl 情報: VMS
perlvos Perl 情報: Stratus VOS
perlwin32 Perl 情報: Windows
By default, the manpages listed above are installed in the /usr/local/man/ directory.
デフォルトでは、上述した man ページは /usr/local/man/ ディレクトリに インストールされます。
Extensive additional documentation for Perl modules is available. The default configuration for perl will place this additional documentation in the /usr/local/lib/perl5/man directory (or else in the man subdirectory of the Perl library directory). Some of this additional documentation is distributed standard with Perl, but you'll also find documentation for third-party modules there.
Perl モジュールのための豊富な追加のドキュメントが利用可能です。 perl のデフォルト設定では追加のドキュメントは /usr/local/lib/perl5/man ディレクトリ (あるいは Perl ライブラリ ディレクトリの man サブディレクトリ)にあります。 この追加ドキュメントは Perl の標準配布に含まれているものもありますが、 サードパーティモジュールのドキュメントもここにあります。
You should be able to view Perl's documentation with your man(1) program by including the proper directories in the appropriate start-up files, or in the MANPATH environment variable. To find out where the configuration has installed the manpages, type:
適切なディレクトリを適切なスタートアップファイルか MANPATH 環境変数に 追加することで、Perl のドキュメントを man(1) プログラムで見られるように することができます。 どこに man ページがインストールされる設定かを見るには、以下のように してください:
perl -V:man.dir
If the directories have a common stem, such as /usr/local/man/man1 and /usr/local/man/man3, you need only to add that stem (/usr/local/man) to your man(1) configuration files or your MANPATH environment variable. If they do not share a stem, you'll have to add both stems.
/usr/local/man/man1 と /usr/local/man/man3 のように、ディレクトリに 途中まで共通の部分がある場合は、共通の部分 (/usr/local/man) だけを man(1) 設定ファイルか MANPATH 環境変数に設定するだけですみます。 共通の部分がない場合は、両方を追加する必要があります。
If that doesn't work for some reason, you can still use the supplied perldoc script to view module information. You might also look into getting a replacement man program.
もしこれが何らかの理由で動作しない場合、モジュール情報を見るための perldoc スクリプトも使えます。 あるいは、man プログラムの代替を探す手もあります。
If something strange has gone wrong with your program and you're not sure where you should look for help, try the -w switch first. It will often point out exactly where the trouble is.
プログラムの実行時に何か変なことが起こって、どこを参照したら よいかわからない場合には、取り敢えず -w スイッチを試してみてください。 これで、問題か所を特定できる場合も、多々あります。
説明¶
Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).
Perl は、テキストファイルを読み取り、そこから情報を引き出し、 その情報を元に様々な報告を行なうように設計された言語です。 また、多くのシステムマネジメントの作業を行なうのに 適した言語でもあります。 この言語は、綺麗さ (小規模、エレガント、最少) ではなく、 実用性 (使い易さ、効率、完全性) を目指しています。
Perl combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it. (Language historians will also note some vestiges of csh, Pascal, and even BASIC-PLUS.) Expression syntax corresponds closely to C expression syntax. Unlike most Unix utilities, Perl does not arbitrarily limit the size of your data--if you've got the memory, Perl can slurp in your whole file as a single string. Recursion is of unlimited depth. And the tables used by hashes (sometimes called "associative arrays") grow as necessary to prevent degraded performance. Perl can use sophisticated pattern matching techniques to scan large amounts of data quickly. Although optimized for scanning text, Perl can also deal with binary data, and can make dbm files look like hashes. Setuid Perl scripts are safer than C programs through a dataflow tracing mechanism that prevents many stupid security holes.
Perl は、(少なくとも作者の意見では) C, sed, awk, sh の良い部分を 組み合わせているので、これらの言語に馴染みのある方には、それほど 難しいものではないでしょう。 (言語歴史学者はまた、csh, Pascal あるいは BASIC-PLUS の痕跡にも 気付くかもしれません。) 式の構文は、C の式の構文に対応したものとなっています。 多くの UNIX のユーティリティとは違って、Perl はデータの大きさに 恣意的な制限を設けません。 つまり Perl では、メモリさえ十分にあれば、ファイルを丸ごと 1 つの 文字列に入れてしまうこともできます。 再帰の深さにも制限がありません。 また、ハッシュ(「連想配列」と呼ばれることもあります)が使用するテーブルは、 パフォーマンスを損なわないように、必要に応じて、自動的に大きくなります。 Perl では、大量のデータをすばやく走査できるように、工夫を凝らした パターンマッチの技術が使えます。 テキストの走査のために設計されてはいますが、Perl では、 バイナリデータを扱うこともできますし、 dbm ファイルをハッシュのようにして扱うこともできるようになっています。 データフロートレース機構を使って、単純ミスによるセキュリティホールを 塞ぐようにしているため、多くの場合、setuid Perl スクリプトは C の プログラムよりも安全です。
If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capabilities or must run a little faster, and you don't want to write the silly thing in C, then Perl may be for you. There are also translators to turn your sed and awk scripts into Perl scripts.
普通は sed や awk や sh で書くような問題でも、少し荷が 重すぎるようなとき、多少でも実行速度を速くしなければならないときや、 C で書く程でもないときには、Perl が最適でしょう。 また、sed や awk のスクリプトを Perl のスクリプトに変換する トランスレータも用意されています。
But wait, there's more...
ちょっと待ってください、まだあります…
Begun in 1993 (see perlhist), Perl version 5 is nearly a complete rewrite that provides the following additional benefits:
1993 年から(perlhist を参照してください)、Perl バージョン 5 は、 以下のようなことを追加するためにほとんど全て書き直しています:
-
modularity and reusability using innumerable modules
無数のモジュールによるモジュール性と再利用性
Described in perlmod, perlmodlib, and perlmodinstall.
perlmod, perlmodlib, perlmodinstall に記述しています。
-
embeddable and extensible
組み込み容易性と拡張性
perlembed, perlxstut, perlxs, perlcall, perlguts, xsubpp に記述しています。
-
roll-your-own magic variables (including multiple simultaneous DBM implementations)
(多重同期 DBM 実装を含む) 自分自身の役割を行うマジカル変数
Described in perltie and AnyDBM_File.
perltie と AnyDBM_File に記述しています。
-
subroutines can now be overridden, autoloaded, and prototyped
サブルーチン定義がオーバライド、オートロード、プロトタイプ宣言可能に
Described in perlsub.
perlsub に記述しています。
-
arbitrarily nested data structures and anonymous functions
任意の多重データ構造と無名関数
Described in perlreftut, perlref, perldsc, and perllol.
perlreftut, perlref, perldsc, perllol に記述しています。
-
object-oriented programming
オブジェクト指向プログラミング
-
support for light-weight processes (threads)
軽量プロセス(スレッド)対応
Described in perlthrtut and threads.
perlthrtut と threads に記述しています。
-
support for Unicode, internationalization, and localization
Unicode、国際化、地域化対応
Described in perluniintro, perllocale and Locale::Maketext.
perluniintro, perllocale, Locale::Maketext に記述しています。
-
lexical scoping
レキシカルスコープ
Described in perlsub.
perlsub に記述しています。
-
regular expression enhancements
正規表現の拡張
-
enhanced debugger and interactive Perl environment, with integrated editor support
統合エディタ対応付きの強化デバッガと対話的 Perl 環境
Described in perldebtut, perldebug and perldebguts.
perldebtut, perldebug, perldebguts に記述しています。
-
POSIX 1003.1 compliant library
POSIX 1003.1 準拠ライブラリ
Described in POSIX.
POSIX に記述しています。
Okay, that's definitely enough hype.
さあ、誇大広告にはこれくらいにしましょう。
AVAILABILITY¶
Perl is available for most operating systems, including virtually all Unix-like platforms. See "Supported Platforms" in perlport for a listing.
Perl は事実上全ての Unix 風プラットフォームを含む、ほとんどの OS で 利用可能です。 一覧については "Supported Platforms" in perlport を参照してください。
ENVIRONMENT¶
See perlrun.
perlrun を参照してください。
作者¶
Larry Wall <[email protected]>, with the help of oodles of other folks.
Larry Wall <[email protected]>; 多くの方の助力を得つつ。
If your Perl success stories and testimonials may be of help to others who wish to advocate the use of Perl in their applications, or if you wish to simply express your gratitude to Larry and the Perl developers, please write to [email protected] .
もしあなたの Perl に関する成功物語と推薦状が、アプリケーションに Perl を 使うことを推奨したいと願っている他の人々の助けになると考えたなら、 あるいは単に Larry と Perl 開発者に感謝の意を伝えたいなら、 [email protected] に送ってください。
FILES¶
"@INC" locations of perl libraries
"@INC" perl ライブラリの位置
SEE ALSO¶
a2p awk to perl translator
s2p sed to perl translator
a2p awk から perl へのトランスレータ
s2p sed から perl へのトランスレータ
http://www.perl.org/ the Perl homepage
http://www.perl.com/ Perl articles (O'Reilly)
http://www.cpan.org/ the Comprehensive Perl Archive
http://www.pm.org/ the Perl Mongers
DIAGNOSTICS¶
The use warnings
pragma (and the -w switch) produces some lovely diagnostics.
use warnings
プラグマ (および -w スイッチ)は、 幾分わかりやすい診断メッセージを出します。
See perldiag for explanations of all Perl's diagnostics. The use diagnostics
pragma automatically turns Perl's normally terse warnings and errors into these longer forms.
すべての Perl の診断メッセージについては、perldiag を 参照してください。 use diagnostics
プラグマは、Perl の通常の簡潔な警告とエラーを自動的に より長い形式に変更します。
Compilation errors will tell you the line number of the error, with an indication of the next token or token type that was to be examined. (In a script passed to Perl via -e switches, each -e is counted as one line.)
コンパイル時のエラーでは、エラーの起こった行番号に、次に 調べられるはずだったトークンかトークンの型を示します。 (スクリプトが -e スイッチで Perl に渡される場合には、-e スイッチ 1 つが 1 行とカウントされます。)
Setuid scripts have additional constraints that can produce error messages such as "Insecure dependency". See perlsec.
setuid スクリプトでは、制限事項が増えるため、"Insecure dependency" と いったエラーメッセージが表示されることがあります。 perlsec を参照してください。
Did we mention that you should definitely consider using the -w switch?
絶対に -w スイッチを使った方が良いっていうのは、もう書きましたっけ?
バグ¶
The -w switch is not mandatory.
-w スイッチが必須になっていません。
Perl is at the mercy of your machine's definitions of various operations such as type casting, atof(), and floating-point output with sprintf().
Perl は型のキャスト、atof()、sprintf() による浮動小数点出力のような 様々な操作のマシンごとの定義に依存します。
If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn't apply to sysread() and syswrite().)
使用している標準入出力ライブラリが、read と write の間に seek や eof が必要なものであれば、Perl でも同様となります。 (ただし、sysread() や syswrite() には適用されません。)
While none of the built-in data types have any arbitrary size limits (apart from memory size), there are still a few arbitrary limits: a given variable name may not be longer than 251 characters. Line numbers displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound).
組み込みのデータ型には (メモリサイズからくるものを除いて) 恣意的な サイズの制限はありませんが、それでもいくつかの恣意的制限は存在します: どの変数名も 251 文字より長くてはなりません。 診断で表示される行番号は内部的に short 整数で保管しているので、その 最大値は 65535 に制限されます(より大きな数値は普通回り込みの影響を受けます)。
You may mail your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source tree, or by perl -V
) to [email protected] . If you've succeeded in compiling perl, the perlbug script in the utils/ subdirectory can be used to help mail in a bug report.
バグレポートは [email protected] に送ってください (perl ソースツリーにある myconfig プログラムか perl -V
で出力される 完全な設定情報を含めることを忘れないでください)。 もし perl のコンパイルに成功しているなら、utils/ サブディレクトリにある perlbug が、バグレポートをメールする助けとして使えます。
Perl actually stands for Pathologically Eclectic Rubbish Lister, but don't tell anyone I said that.
Perl は本当は「病的折衷主義ガラクタ出力機」(Pathologically Eclectic Rubbish Lister) を意味していますが、私がそういった 事をばらしてはいけません。
NOTES¶
The Perl motto is "There's more than one way to do it." Divining how many more is left as an exercise to the reader.
Perl のモットーは「やり方は 1 通りではない。」ということです。 このマニュアルを、後いくつに分割できるかは、宿題とします。
The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.
プログラマの 3 つの美徳は、無精、短気、傲慢です。 理由は、ラクダ本を参照してください。