ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 抽出および出力を行う言語 (Practical Extraction and Report Language)
perl [-sTuU] [-hv] [-V [: configvar]] [-cw] [-d [: debugger]] [-D [number/list]] [-pna] [-F pattern] [-l [octal]] [-0 [octal]] [-I dir] [-m [-] module] [-M [-] 'module...'] [-P] [-S] [-x [dir]] [-i [extension]] [-e 'command'] [-–] [programfile] [argument]...
調べやすくするために、Perl のマニュアルは以下のセクションに分割されています。
概要
perl Perl overview (this section) perlintro Perl introduction for beginners perltoc Perl documentation table of contents
チュートリアル
perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays
perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial
perlboot Perl OO tutorial for beginners perltoot Perl OO tutorial, part 1 perltooc Perl OO tutorial, part 2 perlbot Perl OO tricks and examples
perlstyle Perl style guide
perlcheat Perl cheat sheet perltrap Perl traps for the unwary perldebtut Perl debugging tutorial
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
リファレンスマニュアル
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 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
perlipc Perl interprocess communication perlfork Perl fork() information perlnumber Perl number semantics
perlthrtut Perl threads tutorial perlothrtut Old Perl threads tutorial
perlport Perl portability guide perllocale Perl locale support perluniintro Perl Unicode introduction perlunicode Perl Unicode support perlebcdic Considerations for running Perl on EBCDIC platforms
perlsec Perl security
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
perlutil utilities packaged with the Perl distribution
perlcompile Perl compiler suite intro
perlfilter Perl source filters
内部関数と 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
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
perlhack Perl hackers guide
その他
perlbook Perl book information perltodo Perl things to do
perldoc Look up Perl documentation in Pod format
perlhist Perl history records perldelta Perl changes since previous version 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
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)
プラットフォーム固有
perlsolaris Perl notes for Solaris
初めて Perl を学習する場合は、perlintro から始めるべきです。このドキュメントは、初心者のための概要であり、残りの Perl 拡張ドキュメントに進むための背景情報も提供します。調べやすくするため、Perl のマニュアルはいくつかのセクションに分割されています。
前述のマニュアルページは /usr/perl5/man/ ディレクトリにインストールされています。
前述のほかにも、Perl モジュールに関するマニュアルページがあります。これらも /usr/perl5/man ディレクトリにあります。マニュアルページの一部は標準で Perl に提供されています。ユーザーが任意でインストールするサードパーティのモジュールに関するマニュアルページも、同じディレクトリに置かれます。
Perl のドキュメントを表示するには、man(1) の MANPATH 環境変数に /usr/perl5/man を含めます。Perl 関連のマニュアルページに対して catman(1M) を実行することはサポートされていません。その他の Solaris 固有の情報については、後述の「注意事項」の節を参照してください。
Perl に関する情報は、/usr/perl5/bin/perldoc スクリプトを使用して参照することもできます。
プログラム中に何か問題があるときにその場所を特定できない場合は、-w スイッチを使用してください。多くの場合に問題箇所を特定することができます。
Perl は、テキストファイルを読み取り、そこから情報を抽出して、その情報をもとにして報告を出力する言語です。また、システム管理作業を行うのにも適した言語です。Perl は、美しいこと (小規模、上品、最小限) よりも実用性 (使いやすい、効率、完全) を目指して作成されています。
Perl は (筆者の意見では)、C、sed、awk、および sh の長所を組み合わせて作成されているので、これらの言語に慣れている方には、Perl を使用することはそれほど難しくないでしょう。(csh、Pascal、および BASIC-PLUS の特徴も入っているという意見もあります。) Perl の式の構文はかなりの部分で、C の式の構文に対応しています。多くの UNIX ユーティリティとは異なり、Perl にはデータのサイズに制限がありません。つまり、メモリーが十分にあれば、Perl ではファイル全体を 1 つの文字列中に入れてしまうこともできます。再帰の深さにも制限がありません。パフォーマンスの低下を防ぐために、ハッシュテーブル (連想配列と呼ばれることもある) のサイズが必要に応じて自動的に大きくなります。Perl は、高度なパターンマッチング技術を使用して、大量のデータを高速に読み取ることができます。Perl はテキストファイルを扱うことを用途として最適化されていますが、バイナリデータを扱ったり、dbm ファイルをハッシュテーブルのようにして扱うこともできます。データフローのトレースメカニズムによって、多くの不注意によるセキュリティホールが防止されているので、Perl の setuid スクリプトは C プログラムよりも安全です。
通常なら sed、awk、または sh を使用して記述するような処理をさせたい場合に、sed、awk、sh では不可能または処理速度をもっと上げたい、けれども C で記述するほどではないというとき、Perl を使用するのが適しています。また、sed および awk のスクリプトを Perl スクリプトに変換するプログラムもあります。
さらに情報は続きます。
1993 年に誕生して以来 (perlhist を参照)、Perl はバージョン 5 で、ほぼ全体が改訂され、次のような特長が追加されています。
多数のモジュールを使用した、モジュール性と再利用性。perlmod、perlmodlib、および perlmodinstall を参照してください。
組み込みと拡張性。perlembed、perlxstut、perlxs、perlcall、perlguts、および xsubpp を参照してください。
独自のマジック変数の活用 (複数の DBM 同時実装を含む)。perltie および AnyDBM_File を参照してください。
サブルーチンのオーバーライド、自動ロード、プロトタイプ化が可能。perlsub を参照してください。
任意の多重データ構造体および匿名の関数。perlreftut、perlref、perldsc、および perllol を参照してください。
オブジェクト指向プログラミング。perlobj、perlboot、perltoot、perltooc、および perlbot を参照してください。
軽量プロセス (スレッド) のサポート。perlthrtut および Thread を参照してください。
Unicode、国際化、および ローカリゼーションのサポート。perluniintro、perllocale、および Locale::Maketext を参照してください。
字句のスコープ。perlsub を参照してください。
正規表現の拡張。perlre および perlop を参照してください。
統合エディタの採用による、デバッガの機能拡張および対話型の Perl 環境。perldebtut、perldebug および perldebguts を参照してください。
POSIX 1003.1 準拠。POSIX を参照してください。
以上です。
Solaris に含まれている Perl は、/usr/local ではなく、/usr/perl5 にインストールされます。これは、ユーザーがデフォルトの /usr/local にインストールする別バージョンの Perl と衝突しないようにするためです
追加でインストールするモジュールは、/usr/perl5/site_perl/5.8.4 ディレクトリに置かれます。/usr/perl5/vendor_perl ディレクトリには、SMI が提供するモジュールが置かれます。
perldoc および perlbug などの Perl スクリプトは、/usr/perl5/bin ディレクトリにあります。これらのスクリプトを使用する場合は、PATH 環境変数に /usr/perl5/bin を追加してください。
perlrun も参照してください。
Larry Wall 他
これから Perl をアプリケーションに使用しようとしているほかの人たちのために、自分の Perl に関する成功事例や経験談を提供していただける方、あるいは、Larry を初めとする Perl 開発者たちに簡単なお礼を述べたい方は、perl–thanks@perl.org まで電子メールを送信してください。
Perl ライブラリの場所
属性についての詳細は、attributes(5) を参照してください。
|
Perl は、ほぼすべての Unix 系プラットフォームを含めて、ほとんどのオペレーティングシステムで使用できます。リストについては、perlport の「Supported Platforms」を参照してください。
スクリプトインタフェース、XSUB インタフェース、およびディレクトリレイアウトは「確実」です。バイナリインタフェースは「不確実」です。
awk から perl への変換プログラム
sed から perl への変換プログラム
Perl のホームページ
総合的な Perl アーカイブ
Perl Mongers (Perl ユーザーグループ)
use warnings プラグマ (および -w スイッチ) を使用すると、診断メッセージが表示されます。
Perl の診断メッセージについての説明は、perldiag を参照してください。use diagnostics プラグマを使用すると、警告メッセージおよびエラーメッセージがより詳細に出力されます。
コンパイル時のエラーメッセージには、エラー箇所の行番号、確認が必要な次のトークンまたはトークンタイプが示されます。複数の -e スイッチによって Perl に渡されるスクリプトでは、各 -e スイッチが 1 行として数えられます。
setuid スクリプトには、「Insecure dependency」などのエラーメッセージとして示されるような制限事項があります。詳細は perlsec を参照してください。
常に -w スイッチを使用することをお勧めします。
Perl 5.8.4 のインタープリタ自体は 32 ビットアプリケーションですが、Perl 5.6.1 自体は大規模ファイルの処理が可能で 64 ビットの整数を使用するように作られています。詳しい構成情報を参照するには、perl V および perlbug dv を使用してください。
gcc を使用して CPAN からアドオンモジュールを構築およびインストールするには、/usr/perl5/5.8.4/bin/perlgcc スクリプトを使用します。詳細については、perlgcc(1) を参照してください。
独自のバージョンの Perl を作成してインストールする場合でも、/usr/perl5 にある 5.8.4 バージョンの Perl は削除しないでください。このバージョンの Perl は、複数のシステムユーティリティーで使用されています。Perl のパッケージ名は、以下のとおりです。
SUNWperl584core Perl 5.8.4 (Core files) SUNWperl584usr Perl 5.8.4 (Non-core files) SUNWperl584man Perl 5.8.4 (Manual pages)
Solaris 10 には、Solaris 9 に付属していたバージョン 5.6.1 の Perl も付属しています。システムのアップグレードは行うが、Perl 5.6.1 をデフォルトの Perl バージョンとして引き続き使用する場合、その方法についての詳細は、perlsolaris のマニュアルページを参照してください。Perl 5.6.1 は将来のリリースで削除されるため、可能な限り、Perl 5.8.4 にアップグレードしてください。
Perl のモットーは、「やり方は何通りもある」です。ほかの方法を考えることは、読者にとってよい練習となるでしょう。
プログラマにとっての主な 3 つの美徳は、「怠慢」、「短気」、そして「傲慢」です。理由については「ラクダ本」を参照してください。
-w スイッチを使用することは、必須事項ではありません。
Perl は、型キャストを行う atof()や、浮動小数点を出力する sprintf() など、さまざまな処理のマシン上での定義に影響されます。
標準入出力が、特定のストリーム上の読み取りと書き込みの間にシークまたは EOF を必要とする場合、Perl がそれを実行します。ただしこれは sysread() および syswrite() には適用されません。
組み込みデータ型にサイズ制限 (メモリーサイズを除く) はありませんが、若干の制限事項があります。変数名は 251 文字未満にする必要があります。診断メッセージに示される行番号は内部で short 型整数として格納されるので、表示できる行番号は 65535 行目までです。これ以上の行番号は通常 wraparound による影響を受けます。
発見したバグについて、電子メールで <perlbug@perl.org> 宛に報告することができます。このとき、使用している環境の構成情報 (Perl のソースツリーにある myconfig コマンドまたは perl V の実行結果) も必ずお知らせください。Perl のコンパイルに成功した場合、utils/ サブディレクトリにある perlbug スクリプトを使用すると、簡単にバグレポートをメールで送信できます。
実は、Perl は「Pathologically Eclectic Rubbish Lister」の略なのですが、私がこう述べたことはだれにも言わないようにしてください。