perlfaq1 > 5.021009 との差分

perlfaq1 5.021009 と 5.8.4 の差分

1=encoding euc-jp
12
2=encoding utf8
3
43=head1 NAME
54
65=begin original
76
8perlfaq1 - General Questions About Perl
7perlfaq1 - General Questions About Perl ($Revision: 1.3 $, $Date: 2006/04/08 18:01:46 $)
98
109=end original
1110
12perlfaq1 - Perl に関する一般的な質問
11perlfaq1 - Perl に関する一般的な質問 ($Revision: 1.3 $, $Date: 2006/04/08 18:01:46 $)
1312
14=head1 VERSION
15
16version 5.021009
17
1813=head1 DESCRIPTION
1914
2015=begin original
2116
2217This section of the FAQ answers very general, high-level questions
2318about Perl.
2419
2520=end original
2621
27このセクションでは、Perl に関する非常に一般的高レベルの質問に答えます。
22このセクションでは、Perlに関する非常に一般的高レベルの質問に答えます。
2823
2924=head2 What is Perl?
3025
3126(Perlってなんですか?)
3227
3328=begin original
3429
3530Perl is a high-level programming language with an eclectic heritage
36written by Larry Wall and a cast of thousands.
31written by Larry Wall and a cast of thousands. It derives from the
32ubiquitous C programming language and to a lesser extent from sed,
38=end original
33awk, the Unix shell, and at least a dozen other tools and languages.
39
40Perl は Larry Wall と数多い協力者によって書かれた、折衷的な遺産を持った
41高水準プログラミング言語です。
42
43=begin original
44
4534Perl's process, file, and text manipulation facilities make it
4635particularly well-suited for tasks involving quick prototyping, system
4736utilities, software tools, system management tasks, database access,
48graphical programming, networking, and web programming.
37graphical programming, networking, and world wide web programming.
38These strengths make it especially popular with system administrators
39and CGI script authors, but mathematicians, geneticists, journalists,
40and even managers also use Perl. Maybe you should, too.
4941
5042=end original
5143
52Perl のプロセス、ファイル及びテキスト操作機能は、
44Perl は Larry Wall と数多い協力者によって書かれた折衷的な遺産を持った
45高水準プログラミング言語です。
46それは遍在するプログラミング言語であるCから派生し、
47そしてそれ程ではないけれども、
48sed、awk、Unix のシェルおよび少なくともダース単位の他のツールや言語に
49影響を受けています。Perlのプロセス、ファイル及びテキスト操作機能は、
5350クィックプロトタイピング、システムユーティリティ、ソフトウェアツール、
5451システム管理タスク、データベースアクセス、グラフィカルプログラミング、
55ネットワーキング、そして web プログラミングを含んだタスクに
52ネットワーキング、そして world wide web プログラミングを含んだタスクに
5653特に適したものになっています。
54これらの強みは、システム管理者やCGI スクリプトの作者に特に人気を博すもとと
55なっていますが、数学者、遺伝学者、ジャーナリスト、そして管理者も
56また Perl を利用しているのです。たぶんあなたもそうなるでしょう。
5757
58=begin original
58=head2 Who supports Perl? Who develops it? Why is it free?
5959
60Perl derives from the ubiquitous C programming language and to a
60(だれがPerlをサポートしているのですか? 誰が開発しているのですか? なぜフリーなのでしょうか?)
61lesser extent from sed, awk, the Unix shell, and many other tools
62and languages.
6361
64=end original
65
66Perl は遍在するプログラミング言語である C から派生し、そして
67それ程ではないけれども、
68sed、awk、Unix のシェルおよび多くのその他のツールや言語に
69影響を受けています。
70
7162=begin original
7263
73These strengths make it especially popular with web developers
74and system administrators. Mathematicians, geneticists, journalists,
75managers and many other people also use Perl.
76
77=end original
78
79これらの強みは、特に web 開発者とシステム管理者に人気を博しています。
80数学者、遺伝学者、ジャーナリスト、管理者やその他の多くの人々も Perl を
81利用しています。
82
83=head2 Who supports Perl? Who develops it? Why is it free?
84
85(だれが Perl をサポートしているのですか? 誰が開発しているのですか? なぜフリーなのでしょうか?)
86
87=begin original
88
8964The original culture of the pre-populist Internet and the deeply-held
9065beliefs of Perl's author, Larry Wall, gave rise to the free and open
91distribution policy of Perl. Perl is supported by its users. The
66distribution policy of perl. Perl is supported by its users. The
9267core, the standard Perl library, the optional modules, and the
93documentation you're reading now were all written by volunteers.
68documentation you're reading now were all written by volunteers. See
69the personal note at the end of the README file in the perl source
70distribution for more details. See L<perlhist> (new as of 5.005)
71for Perl's milestone releases.
9472
9573=end original
9674
9775pre-populist なインターネットの独特の文化と、Perl の作者である Larry
98Wall の強い信条が、Perl のフリーでオープンな配布政策を生じさせました。
76Wall の強い信条が、perl のフリーでオープンな配布政策を生じさせました。
9977Perl はその利用者によってサポートされています。コア、Perl の標準
10078ライブラリ、オプションモジュール、そしてあなたが今読んでいる資料は
101全てボランティアの手で書かれました。
79全てボランティアの手で書かれました。詳細は perl ソース配布セットの
80README ファイルの最後にあるパーソナルノートを参照して下さい。
81Perl のマイルストーンリリースについてはL<perlhist>(5.005で追加)
82を参照してください
10283
10384=begin original
10485
105The core development team (known as the Perl Porters)
86In particular, the core development team (known as the Perl Porters)
106are a group of highly altruistic individuals committed to
87are a rag-tag band of highly altruistic individuals committed to
10788producing better software for free than you could hope to purchase for
108money. You may snoop on pending developments via the
89money. You may snoop on pending developments via the archives at
109L<archives|http://www.nntp.perl.org/group/perl.perl5.porters/>
90http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
110or read the L<faq|http://dev.perl.org/perl5/docs/p5p-faq.html>,
91and http://archive.develooper.com/perl5-porters@perl.org/
92or the news gateway nntp://nntp.perl.org/perl.perl5.porters or
93its web interface at http://nntp.perl.org/group/perl.perl5.porters ,
94or read the faq at http://simon-cozens.org/writings/p5p-faq ,
11195or you can subscribe to the mailing list by sending
112perl5-porters-subscribe@perl.org a subscription request
96perl5-porters-request@perl.org a subscription request
11397(an empty message with no subject is fine).
11498
11599=end original
116100
117(Perl Porters として知られる)コア開発チームは、お金を出してで
101特に、(Perl Porters として知られる)コア開発チームは、お金を出してで
118購入したいと思うレベルのものよりも、さらに良いソフトウェアを無料で
102購入したいと思うレベルのものよりも、さらに良いソフトウェアを無
119作り出すのだと誓っている、非常に利他的な人達の集です。
103料で作り出すのだと誓っている、非常に利他的な人達の寄せめ部隊です。
120L<アーカイブ|http://www.nntp.perl.org/group/perl.perl5.porters/>
104http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
121から延び延びとなっている開発についてかぎまわったり、
105
122L<FAQ|http://dev.perl.org/perl5/docs/p5p-faq.html> を読んだり、
106http://archive.develooper.com/perl5-porters@perl.org/
123あるいperl5-porters-subscribe@perl.org へ登録願いを出すことに
107またニュースゲートウェイ nntp://nntp.perl.org/perl.perl5.porters または
108その web インターフェースである http://nntp.perl.org/group/perl.perl5.porters ,
109または http://simon-cozens.org/writings/p5p-faq の FAQ を
110通して延び延びとなっている開発についてかぎまわることもできます。
111あるいは、perl5-porters-request@perl.org へ登録願いを出すことに
124112よってメイリングリストに参加することもできます
125113(タイトルなしの空メールでかまいません)。
126114
127115=begin original
128116
129117While the GNU project includes Perl in its distributions, there's no
130such thing as "GNU Perl". Perl is not produced nor maintained by the
118such thing as "GNU Perl". Perl is not produced nor maintained by the
131Free Software Foundation. Perl's licensing terms are also more open
119Free Software Foundation. Perl's licensing terms are also more open
132120than GNU software's tend to be.
133121
134122=end original
135123
136GNU プロジェクトはその配布セットに Perl を含んでいますが、"GNU Perl"
124GNU プロジェクトはその配布セットにPerlを含んでいますが、"GNU Perl"
137のようなものはありません。
125のようなものはありません。Perl は Free Software Foundation による作成も
138Perl は Free Software Foundation による作成も保守もされてはいません。
126保守もされてはいません。Perl のライセンス条件は GNU ソフトウェアが
139Perl のライセンス条件は GNU ソフトウェアが
140127通常取っているよりもさらにオープンなものとなっています。
141128
142129=begin original
143130
144131You can get commercial support of Perl if you wish, although for most
145users the informal support will more than suffice. See the answer to
132users the informal support will more than suffice. See the answer to
146"Where can I buy a commercial version of Perl?" for more information.
133"Where can I buy a commercial version of perl?" for more information.
147134
148135=end original
149136
150あなたが望むなら、Perl の商用サポートを受けることが出来ます;
137あなたが望むなら、Perl の商用サポートを受けることが出来ます
151けれども、大半の利用者にとっては、非公式のサポートは期待水準以上のものでしょう。
138けれども、大半の利用者にとっては、非公式のサポートは
152くは "Where can I buy a commercial version of Perl?"
139期待水準以上のものでょう。
153(どこで商用版 Perl を買うことが出来ますか?) の回答を参照してください。
140詳しくは "Where can I buy a commercial version of perl?"
141(どこで商用版Perlを買うことが出来ますか?) の回答を参照してください。
154142
155143=head2 Which version of Perl should I use?
156144
157145(どのバージョンの Perl を使うべきなのでしょうか?)
158146
159147=begin original
160148
161(contributed by brian d foy)
149You should definitely use version 5. Version 4 is old, limited, and
150no longer maintained; its last patch (4.036) was in 1992, long ago and
151far away. Sure, it's stable, but so is anything that's dead; in fact,
152perl4 had been called a dead, flea-bitten camel carcass. The most
153recent production release is 5.8.2 (although 5.005_03 and 5.6.2 are
154still supported). The most cutting-edge development release is 5.9.
155Further references to the Perl language in this document refer to the
156production release unless otherwise specified. There may be one or
157more official bug fixes by the time you read this, and also perhaps
158some experimental versions on the way to the next release.
159All releases prior to 5.004 were subject to buffer overruns, a grave
160security issue.
162161
163162=end original
164163
165(brian d foy によって寄贈されました)
164明らかにバージョン 5を使うべきです。バージョン 4は古く、機能も限定されていて、
165もはや保守もされていません。その最後のパッチ(4.036)は 1992 年で、
166そして長い時間が経っています。確かに perl4 は安定しているかもしれませんが、
167もはやそれは死んだものなのです。
168実際、perl4 はハエのたかったラクダの死骸と呼ばれていました。
169最新の本番リリースは 5.8.2 です(5.005_03 と 5.6.2 もまだサポートされていますが)。
170最も先頭をいっているのは開発リリース 5.9 です。本ドキュメントでは
171特に断りのない限りこれらのバージョンのことを指します。あなたがこれを
172読んでいる間にも、少なからぬバグフィックスが行われているでしょう。
173そして、次のリリースに向けた試験バージョンが試されているでしょう。
1745.004 より前のリリースは全てバッファオーバーランがあることが指摘されていて、
175これはセキュリティ上問題です。
166176
167=begin original
177=head2 What are perl4 and perl5?
168178
169There is often a matter of opinion and taste, and there isn't any one
179(perl4 perl5 ってなんですか?)
170answer that fits everyone. In general, you want to use either the current
171stable release, or the stable release immediately prior to that one.
172Currently, those are perl5.18.x and perl5.16.x, respectively.
173180
174=end original
175
176これはしばしば見解と嗜好の問題であり、誰にでも適応する一つの答えというものは
177ありません。
178一般的に、現在の安定版か、その一つ前の安定版を使いたいでしょう。
179現在のところ、それぞれ perl5.18.x と perl5.16.x となります。
180
181181=begin original
182182
183Beyond that, you have to consider several things and decide which is best
183Perl4 and perl5 are informal names for different versions of the Perl
184for you.
184programming language. It's easier to say "perl5" than it is to say
185"the 5(.004) release of Perl", but some people have interpreted this
186to mean there's a language called "perl5", which isn't the case.
187Perl5 is merely the popular name for the fifth major release (October 1994),
188while perl4 was the fourth major release (March 1991). There was also a
189perl1 (in January 1988), a perl2 (June 1988), and a perl3 (October 1989).
185190
186191=end original
187192
188それはそれしていくつか事柄を考慮して、どれがあたにと
193perl4 perl5 はperl プログラミング言語なったバージョンの
189最良あるかを決定る必要があります
194非公式な名称です。"Perl の 5(.004) リリース"というより、"perl5" と言う方が
195簡単です。
196しかし、ある人々は、大文字ではない"perl5"と呼ばれる言語があることを
197意味するのだと解釈しました。
198perl5 は単に五番目のメジャーリリース(1994 年 10 月)の普及した名称ですが、
199一方 perl4 は四番目のメジャーリリース(1991 年 3 月)でした。
200同様に、perl1(1988 年 1 月)、
201perl2(1988 年 6 月) そしてperl3(1989 年 10 月)もありました。
190202
191=over 4
192
193=item *
194
195203=begin original
196204
197If things aren't broken, upgrading perl may break them (or at least issue
205The 5.0 release is, essentially, a ground-up rewrite of the original
198new warnings).
206perl source code from releases 1 through 4. It has been modularized,
207object-oriented, tweaked, trimmed, and optimized until it almost doesn't
208look like the old code. However, the interface is mostly the same, and
209compatibility with previous releases is very high.
210See L<perltrap/"Perl4 to Perl5 Traps">.
199211
200212=end original
201213
202物事がおかしくなっていないならperl をアップグレドすることおかしくなる
2145.0 のリリースは本質的にリリース 1 からリリス 4 ま
203(または少くとも新しい警告が出る)可能性があります。
215perl ソースコードの完全書き換えです。
216それは、旧コードには似ても似つかなくなるまで、モジュール化され、
217オブジェクト指向となり、微調整され、整備され、最適化されました。
218しかしながら、インターフェースはほとんど同じであり、以前のバージョンとの
219互換性は非常に高いです。
220L<perltrap/"Perl4 to Perl5 Traps">を参照してください。
204221
205=item *
206
207222=begin original
208223
209The latest versions of perl have more bug fixes.
224To avoid the "what language is perl5?" confusion, some people prefer to
225simply use "perl" to refer to the latest version of perl and avoid using
226"perl5" altogether. It's not really that big a deal, though.
210227
211228=end original
212229
213最新バージョンの perl はより多くのバグが修正されていま
230perl5どんな言語でか?」という混乱を避けるため、ある人々は
231perl の最新バージョンに言及するのに単に"perl"を使うのを好み、全体に
232"perl5"を使うのを避けています。本当はたいした事ではないのですが。
214233
215=item *
216
217234=begin original
218235
219The Perl community is geared toward supporting the most recent releases,
236See L<perlhist> for a history of Perl revisions.
220so you'll have an easier time finding help for those.
221237
222238=end original
223239
224Perl のコミュニティは最新リリースサポート集中するので、
240Perl の改訂歴史関しては L<perlhist> を参照してください。
225それらに対する助けは早く得られます。
226241
227=item *
242=head2 What is Ponie?
228243
229244=begin original
230245
231Versions prior to perl5.004 had serious security problems with buffer
246At The O'Reilly Open Source Software Convention in 2003, Artur
232overflows, and in some cases have CERT advisories (for instance,
247Bergman, Fotango, and The Perl Foundation announced a project to
233L<http://www.cert.org/advisories/CA-1997-17.html> ).
248run perl5 on the Parrot virtual machine named Ponie. Ponie stands for
249Perl On New Internal Engine. The Perl 5.10 language implementation
250will be used for Ponie, and there will be no language level
251differences between perl5 and ponie. Ponie is not a complete rewrite
252of perl5.
234253
235254=end original
236255
237perl5.004 以前バージョンにはバッファオーバーフローによる重大な
2562003 O'Reilly Open Source Software Convention で、
238セキュリティ問題があり、その一部には CERT アドバイザリ (例えば、
257Artur Bergman, Fotango, The Perl Foundation は perl5 を Parrot 仮想マシンで
239L<http://www.cert.org/advisories/CA-1997-17.html>) があり
258動作させるプロジェクトである Ponie をアナウンスしした
259Ponie は Perl On New Internal Engine の略です。
260Perl 5.10 の言語実装は Ponie が用いられ、perl5 と ponie は言語レベルでの
261違いはない予定です。Ponie は perl5 の完全な書き換えではありません。
240262
241=item *
242
243263=begin original
244264
245The latest versions are probably the least deployed and widely tested, so
265For more details, see http://www.poniecode.org/
246you may want to wait a few months after their release and see what
247problems others have if you are risk averse.
248266
249267=end original
250268
251最新版あまり使われいなて十分にテストれてないので、
269詳細について、http://www.poniecode.org/ を見てくさい
252もしリスクを嫌うならリリース後数ヶ月待って他の人がどんな問題を
253抱えたかを確認したいかもしれません。
254270
255=item *
271=head2 What is perl6?
256272
257=begin original
273(perl6ってなんですか?)
258274
259The immediate, previous releases (i.e. perl5.14.x ) are usually maintained
260for a while, although not at the same level as the current releases.
261
262=end original
263
264直前のリリース (つまり perl5.14.x ) は普通しばらくの間
265メンテナンスされますが、カレントリリースと同じレベルではありません。
266
267=item *
268
269275=begin original
270276
271No one is actively supporting Perl 4. Ten years ago it was a dead
277At The Second O'Reilly Open Source Software Convention, Larry Wall
272camel carcass (according to this document). Now it's barely a skeleton
278announced Perl6 development would begin in earnest. Perl6 was an oft
273as its whitewashed bones have fractured or eroded.
279used term for Chip Salzenberg's project to rewrite Perl in C++ named
280Topaz. However, Topaz provided valuable insights to the next version
281of Perl and its implementation, but was ultimately abandoned.
274282
275283=end original
276284
277だれも積極的に Perl 4 をサポートしてません。
285 2 回 O'Reilly Open Source Software Convention におて、 Larry Wall は
27810 年前、(こ文書よれば)ラクダの死体なりました。
286Perl6開発を本格的開始するアナウンスしました。
279今となって白骨化していま
287Perl6 Chip Salzenberg による Topaz と呼ばれる Perl を C++ で書き直
288プロジェクトでしばしば使われていました。Topaz は Perl の次のバージョンと
289その実装への価値ある知見をもたらしましたが、完全に中断しています。
280290
281=item *
282
283291=begin original
284292
285The current leading implementation of Perl 6, Rakudo, released a "useful,
293If you want to learn more about Perl6, or have a desire to help in
286usable, 'early adopter'" distribution of Perl 6 (called Rakudo Star) in July of
294the crusade to make Perl a better place then peruse the Perl6 developers
2872010. Please see L<http://rakudo.org/> for more information.
295page at http://dev.perl.org/perl6/ and get involved.
288296
289297=end original
290298
291現在の指導的な Perl 6 実装である Rakudo は、「有用で使用可能で
299Perl6 についてもっと知りたい、または Perl をよりよき場所へと導く
292『アーリーアダプタ』向」の Perl 6 配布 (Rakudo Star と呼ばれます)
300十字軍を助たいなら、Perl6 開発者ページ http://dev.perl.org/perl6/
2932010 年 6 月にリリース
301熟読て、参加てください
294さらなる情報についてはどうか L<http://rakudo.org/> を参照してください。
295302
296=item *
297
298303=begin original
299304
300There are really two tracks of perl development: a maintenance version
305Perl6 is not scheduled for release yet, and Perl5 will still be supported
301and an experimental version. The maintenance versions are stable, and
306for quite awhile after its release. Do not wait for Perl6 to do whatever
302have an even number as the minor release (i.e. perl5.18.x, where 18 is the
307you need to do.
303minor release). The experimental versions may include features that
304don't make it into the stable versions, and have an odd number as the
305minor release (i.e. perl5.19.x, where 19 is the minor release).
306308
307309=end original
308310
309実際の perl の開発2 つの路線があります: メンテナン版と実験版です。
311Perl6 はまだリリース予定なく、Perl5 Perl6 がリリーされた後も
310メンテナンス版は安定ていて、マイナリリース番号に偶数を使います
312ばらくの間サポトされます
311(例えばperl5.18.0; 18 がマイナーリリース番号です)
313何かをしようとする時にPerl6を待つ必要はありません
312実験版は安定版に含まれていない機能が含まれていて、マイナーリリース番号に
313奇数を使います(例えば、perl5.19.x; 19 がマイナーリリース番号です)。
314314
315=back
316
317=head2 What are Perl 4, Perl 5, or Perl 6?
318
319(Perl 4, Perl 5, Perl 6 って何ですか?)
320
321315=begin original
322316
323In short, Perl 4 is the parent to both Perl 5 and Perl 6. Perl 5 is the older
324sibling, and though they are different languages, someone who knows one will
325spot many similarities in the other.
326
327=end original
328
329短く言うと、Perl 4 は Perl 5 と Perl 6 双方の親です。
330Perl 5 は兄で、違う言語ではありますが、片方を知っている人はもう片方にも
331多くの類似性を見つけるでしょう。
332
333=begin original
334
335The number after Perl (i.e. the 5 after Perl 5) is the major release
336of the perl interpreter as well as the version of the language. Each
337major version has significant differences that earlier versions cannot
338support.
339
340=end original
341
342"Perl" の後ろの数字(例えば "Perl 5" の 5)は perl インタプリタの
343メジャーリリース番号であり、言語のバージョンでもあります。
344メジャーバージョン毎に、以前のバージョンでは対応できない
345大きな違いがあります。
346
347=begin original
348
349The current major release of Perl is Perl 5, first released in
3501994. It can run scripts from the previous major release, Perl 4
351(March 1991), but has significant differences.
352
353=end original
354
355現在の Perl のメジャーリリースは Perl 5 あり、1994 年に最初に
356リリースされました。
357以前のメジャーリリースである Perl 4 (1991 年 3 月リリース) のスクリプトも
358動きますが、重大な違いがあります。
359
360=begin original
361
362Perl 6 is a reinvention of Perl, it is a language in the same lineage but
363not compatible. The two are complementary, not mutually exclusive. Perl 6 is
364not meant to replace Perl 5, and vice versa. See L</"What is Perl 6?"> below
365to find out more.
366
367=end original
368
369Perl 6 は Perl の再開発です; これは同じ一族ですが互換性はありません。
370この二つは補完的であり、排他的ではありません。
371Perl 6 は Perl 5 の置き換えを意味しませんし、逆もまた真なりです。
372さらなる情報については L</"What is Perl 6?"> を参照してください。
373
374=begin original
375
376See L<perlhist> for a history of Perl revisions.
377
378=end original
379
380Perl の改訂の歴史に関しては L<perlhist> を参照してください。
381
382=head2 What is Perl 6?
383
384(Perl 6 ってなんですか?)
385
386=begin original
387
388Perl 6 was I<originally> described as the community's rewrite of Perl 5.
389Development started in 2002; syntax and design work continue to this day.
390As the language has evolved, it has become clear that it is a separate
391language, incompatible with Perl 5 but in the same language family.
392
393=end original
394
395Perl 6 は I<元々は> コミュニティによる Perl 5 の書き直しとされていました。
396開発は 2002 年に開始されました; 文法と設計の作業は現在でも続いています。
397言語が進化するにつれて、Perl 5 とは同じ言語ファミリではありますが
398別の互換性のない言語であることがはっきりしてきました。
399
400=begin original
401
402Contrary to popular belief, Perl 6 and Perl 5 peacefully coexist with one
403another. Perl 6 has proven to be a fascinating source of ideas for those
404using Perl 5 (the L<Moose> object system is a well-known example). There is
405overlap in the communities, and this overlap fosters the tradition of sharing
406and borrowing that have been instrumental to Perl's success. The current
407leading implementation of Perl 6 is Rakudo, and you can learn more about
408it at L<http://rakudo.org>.
409
410=end original
411
412一般に信じられていることに反して、Perl 6 と Perl 5 は平和的に共存します。
413Perl 6 は Perl 5 を使うときの興味深いアイデアの基と考えられています (L<Moose>
414オブジェクトシステムはよく知られた例です)。
415コミュニティは重なっていて、この重なりは Perl の成功に役だった共有と借用の
416伝統を育てています。
417現在の指導的な Perl 6 実装は Rakudo で、L<http://rakudo.org> でさらに
418学べます。
419
420=begin original
421
422If you want to learn more about Perl 6, or have a desire to help in
423the crusade to make Perl a better place then read the Perl 6 developers
424page at L<http://www.perl6.org/> and get involved.
425
426=end original
427
428Perl 6 についてもっと知りたい、または Perl をよりよき場所へと導く
429十字軍を助けたいなら、Perl 6 開発者ページ L<http://www.perl6.org/> を
430読んで、参加してください。
431
432=begin original
433
434317"We're really serious about reinventing everything that needs reinventing."
435318--Larry Wall
436319
437320=end original
438321
439322"We're really serious about reinventing everything that needs reinventing."
440323--Larry Wall
441324
442325=head2 How stable is Perl?
443326
444(Perl はどのくらい安定しているのでしょうか?)
327(Perlはどのくらい安定しているのでしょうか?)
445328
446329=begin original
447330
448331Production releases, which incorporate bug fixes and new functionality,
449are widely tested before release. Since the 5.000 release, we have
332are widely tested before release. Since the 5.000 release, we have
450averaged about one production release per year.
333averaged only about one production release per year.
451334
452335=end original
453336
454337バグのフィックスと新機能を組み入れた本番リリースは、リリース前に
455広くテストされます。
338広くテストされます。平均すると、5.000 のリリースからはだいたい一年に一回の割で
456平均すると、5.000 のリリースからはだいたい一年に一回の割で
457339本番リリースをしてきました。
458340
459341=begin original
460342
461The Perl development team occasionally make changes to the
343Larry and the Perl development team occasionally make changes to the
462344internal core of the language, but all possible efforts are made toward
463backward compatibility.
345backward compatibility. While not quite all perl4 scripts run flawlessly
346under perl5, an update to perl should nearly never invalidate a program
347written for an earlier version of perl (barring accidental bug fixes
348and the rare new keyword).
464349
465350=end original
466351
467352Larry と Perl 開発チームは時折言語内部のコアに対する変更を行いますが、
468可能な限り旧版との互換性維持に努めています。
353可能な限り旧版との互換性維持に努めています。全ての perl4 スクリプトが
354perl5 の下で無傷で走るわけではありませんが、perl のアップデートによって、
355(偶発的なバグフィックスの排除とまれな新しいキーワードがなければ)
356以前のバージョンの perl 向けに書かれたプログラムを無効になってしまうことは
357ほとんどありえないでしょう。
469358
470=head2 How often are new versions of Perl released?
471
472(どのくらいのペースで新しいバージョンの Perl はリリースされますか?)
473
474=begin original
475
476Recently, the plan has been to release a new version of Perl roughly every
477April, but getting the release right is more important than sticking rigidly to
478a calendar date, so the release date is somewhat flexible. The historical
479release dates can be viewed at L<http://www.cpan.org/src/README.html>.
480
481=end original
482
483最近は、新しいバージョンの Perl をおおよそ毎年 4 月にリリースする計画ですが、
484正しくリリースすることがカレンダー日付に厳格にこだわるよりも重要なので、
485リリース日はやや柔軟です。
486歴史上のリリース日は L<http://www.cpan.org/src/README.html> で見られます。
487
488
489=begin original
490
491Even numbered minor versions (5.14, 5.16, 5.18) are production versions, and
492odd numbered minor versions (5.15, 5.17, 5.19) are development versions. Unless
493you want to try out an experimental feature, you probably never want to install
494a development version of Perl.
495
496=end original
497
498偶数のマイナーバージョン (5.14, 5.16, 5.18) は製品版バージョンで、
499偶数のマイナーバージョン (5.15, 5.17, 5.19) は開発版バージョンです。
500実験的な機能を試したいのでないかぎり、おそらく決して Perl の開発版を
501インストールしようとしない方がよいでしょう。
502
503=begin original
504
505The Perl development team are called Perl 5 Porters, and their
506organization is described at L<http://perldoc.perl.org/perlpolicy.html>.
507The organizational rules really just boil down to one: Larry is always
508right, even when he was wrong.
509
510=end original
511
512Perl 開発チームは Perl 5 Porters と呼ばれ、その組織は
513L<http://perldoc.perl.org/perlpolicy.html> に記述されています。
514組織の規則は要約するとただ一つです: Larry は常に正しいです;
515たとえ以前は間違っていてもです。
516
517359=head2 Is Perl difficult to learn?
518360
519(Perl は学ぶのが難しいのでしょうか?)
361(Perlは学ぶのが難しいのでしょうか?)
520362
521363=begin original
522364
523No, Perl is easy to start L<learning|http://learn.perl.org/> --and easy to keep learning. It looks
365No, Perl is easy to start learning--and easy to keep learning. It looks
524366like most programming languages you're likely to have experience
525367with, so if you've ever written a C program, an awk script, a shell
526368script, or even a BASIC program, you're already partway there.
527369
528370=end original
529371
530いいえ; Perl L<学び始める|http://learn.perl.org/> のが容易で -- しかも
372いいえPerlは学び始めるのが容易で -- しかも学び続けるのが容易なのです。
531学び続けるのが容易す。
373Perlはあたが(たぶん)慣れ親しんきたたいていのプログラミング
532Perl はあなたが(たぶん)慣れ親しんできたたいていのプログラミング
374言語ように見えます。ですから、C プログラムを、awk スクリプトを、
533言語のように見えます; ですから、C プログラムを、awk スクリプトを
375シェルスクリプトをはたまたBASICプログラムであろうと書いたことがあるのなら
534シェルスクリプトを、はたまた BASIC プログラムでろうと書いたことが
376既に習得途上にるわけです。
535あるのなら、既に習得の途上にあるわけです。
536377
537378=begin original
538379
539Most tasks only require a small subset of the Perl language. One of
380Most tasks only require a small subset of the Perl language. One of
540381the guiding mottos for Perl development is "there's more than one way
541to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's
382to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's
542383learning curve is therefore shallow (easy to learn) and long (there's
543384a whole lot you can do if you really want).
544385
545386=end original
546387
547388たいていのタスクは Perl 言語の小さなサブセットを要求するだけです。
548Perl の開発における指導的モットーのひとつは、「それを行うやり方は
389Perlの開発における指導的モットーのひとつは、「それを行うやり方は
549390一つではない」("there's more than one way to do it)というもので
550す(TMTOWTDI、時々"tim toady"と発音される)。
391す(TMTOWTDI、時々"tim toady"と発音される)。それ故、Perl の習得曲線は浅く
551それ故、Perl の習得曲線は浅く
552392(学びやすく)長い(もしほんとうに望むのならできることは山ほどある)のです。
553393
554394=begin original
555395
556396Finally, because Perl is frequently (but not always, and certainly not by
557397definition) an interpreted language, you can write your programs and test
558398them without an intermediate compilation step, allowing you to experiment
559and test/debug quickly and easily. This ease of experimentation flattens
399and test/debug quickly and easily. This ease of experimentation flattens
560400the learning curve even more.
561401
562402=end original
563403
564最後に、Perl はしばしば(しかし常に、ではありません; 定義によります)
404最後に、Perl はしばしば(しかし常に、ではありません定義によります)
565言われるようにインタープリター型言語です; つまり、プログラムを書いたら、
405言われるようにインタープリター型言語ですつまり、プログラムを書いたら、
566406中間コンパイルステップに入らずそのままテストでき、実験や、
567407テスト/デバッグをすばやく、かつ容易に行なえるようにしてくれるわけです。
568408この実験の容易さが、よりいっそう習得曲線を平らにします
569409
570410=begin original
571411
572412Things that make Perl easier to learn: Unix experience, almost any kind
573413of programming experience, an understanding of regular expressions, and
574the ability to understand other people's code. If there's something you
414the ability to understand other people's code. If there's something you
575415need to do, then it's probably already been done, and a working example is
576usually available for free. Don't forget Perl modules, either.
416usually available for free. Don't forget the new perl modules, either.
577They're discussed in Part 3 of this FAQ, along with L<CPAN|http://www.cpan.org/>, which is
417They're discussed in Part 3 of this FAQ, along with CPAN, which is
578418discussed in Part 2.
579419
580420=end original
581421
582422Perl をより学びやすくするもの: UNIX の経験、ほとんどあらゆる種類の
583423プログラミング経験、正規表現の理解、そして他の人のコードを理解する力。
584424あなたが何か行う必要がある場合、たぶんそれは行われており、
585通常その仕事の事例はフリーで利用することができます。
425通常その仕事の事例はフリーで利用することができます。新しい perl モジュールも
586Perl モジュールも忘れてはなりません。
426忘れてはなりません。それらは二章で議論されている CPAN と共に、
587それらは二章で議論されている L<CPAN|http://www.cpan.org/> と共に、
588427この FAQ の三章で議論されています。
589428
590429=head2 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
591430
592431(Java, Python, REXX, Scheme, Tcl といった他の言語と比べて Perl はどうなんでしょうか?)
593432
594433=begin original
595434
596Perl can be used for almost any coding problem, even ones which require
435Favorably in some areas, unfavorably in others. Precisely which areas
597integrating specialist C code for extra speed. As with any tool it can
436are good and bad is often a personal choice, so asking this question
598be used well or badly. Perl has many strengths, and a few weaknesses,
437on Usenet runs a strong risk of starting an unproductive Holy War.
599precisely which areas are good and bad is often a personal choice.
600438
601439=end original
602440
603Perl ほとんどらゆコーディング上の問題に使えます; より高速にするための
441いくつかの領域で優っていて、不利な部分もあるというところでしょう。
604特別な C コードと統合必要なもも含す。
442正確には、ど領域で有利でどの領域不利かということは、個々人の問題です。
605ゆるツールと同様よく使うとも悪く使うこともきます。
443ですから、この質問を Usenet 尋ねるのは非生産的な
606Perl は多くの強みくつかの弱みがあります; 正確にはどの分野がよく、
444聖戦を始めるという大きなリスクを伴います
607どの分野が悪いかはしばしば個人の選択です。
608445
609446=begin original
610447
611When choosing a language you should also be influenced by the
448Probably the best thing to do is try to write equivalent code to do a
612L<resources|http://www.cpan.org/>, L<testing culture|http://www.cpantesters.org/>
449set of tasks. These languages have their own newsgroups in which you
613and L<community|http://www.perl.org/community.html> which surrounds it.
450can learn about (but hopefully not argue about) them.
614451
615452=end original
616453
617言語を選とき、その周りの L<リソス|http://www.cpan.org/>、
454ん最も良い方法は等価な仕事をするひとろいドを書いてみることです。
618L<テスト文化|http://www.cpantesters.org/>
455これらの言語ともそれらについて(願わくば言い争うためでなく)
619L<コミュニティ|http://www.perl.org/community.html> 影響も受けるべきです。
456習うためニュースグループを持っています。
620457
621458=begin original
622459
623For comparisons to a specific language it is often best to create
460Some comparison documents can be found at http://language.perl.com/versus/
624a small project in both languages and compare the results, make sure
461if you really can't stop yourself.
625to use all the L<resources|http://www.cpan.org/> of each language,
626as a language is far more than just it's syntax.
627462
628463=end original
629464
630特定の言語との比較のためには、言語は単る文法以上のものなので、
465どうしても、いうのなら http://language.perl.com/versus/ に
631両方の言語で小さいプロジェクトを作って結果を比較し、それぞれの言語で
466比較を行ったドキュメントが幾つかあります。
632全ての L<リソース|http://www.cpan.org/> が使えることを確認するのがしばしば
633最良の方法です。
634467
635468=head2 Can I do [task] in Perl?
636469
637(Perl で○○を行えますか?)
470(Perlで○○を行えますか?)
638471
639472=begin original
640473
641474Perl is flexible and extensible enough for you to use on virtually any
642475task, from one-line file-processing tasks to large, elaborate systems.
643
644=end original
645
646Perl は、オンラインのファイル処理タスクから複雑なシステムまでほとんど
647全てのタスクで使うのに十分な柔軟性があり、高い拡張性を持っています。
648
649=begin original
650
651476For many people, Perl serves as a great replacement for shell scripting.
652477For others, it serves as a convenient, high-level replacement for most of
653what they'd program in low-level languages like C or C++. It's ultimately
478what they'd program in low-level languages like C or C++. It's ultimately
654479up to you (and possibly your management) which tasks you'll use Perl
655480for and which you won't.
656481
657482=end original
658483
484Perlは、オンラインのファイル処理タスクから複雑なシステムまでほとんど
485全てのタスクで使うのに十分な柔軟性があり、高い拡張性を持っています。
659486多くの人々にとっては、Perl はシェルスクリプティングに対する
660偉大な代用品として仕えます。
487偉大な代用品として仕えます。他の人々にとっては、C やC++ のような
661他の人々にとっては、C やC++ のような低水準言語でプログラムしてきた
488低水準言語でプログラムしてきた大半のものに対する、便利で高水準な
662大半のものに対する、便利で高水準な代用品として仕えます。
489代用品として仕えます。最終的には Perl をどのタスクに使ってどれに
663最終的には Perl をどのタスクに使ってどれに
664490使わないかはあなた(そしてたぶんあなたの管理)によります。
665491
666492=begin original
667493
668494If you have a library that provides an API, you can make any component
669495of it available as just another Perl function or variable using a Perl
670496extension written in C or C++ and dynamically linked into your main
671perl interpreter. You can also go the other direction, and write your
497perl interpreter. You can also go the other direction, and write your
672498main program in C or C++, and then link in some Perl code on the fly,
673to create a powerful application. See L<perlembed>.
499to create a powerful application. See L<perlembed>.
674500
675501=end original
676502
677503API を提供するライブラリがあれば、そこにあるコンポーネントをみんな、
678ちょうどもうひとつの Perl 関数として、あるいは C や C++ で書かれ、
504ちょうどもうひとつの Perl 関数として、あるいはC やC++ で書かれ、
679505主要な perl インタープリタにダイナミックリンクされた Perl エクステンションを
680使った変数として、利用することができます。
506使った変数として、利用することができます。また、他の方向に行って、
681また、他の方向に行って、強力なアプリケーションを制作するために、
507強力なアプリケーションを制作するために、主要なプログラムを
682主要なプログラムを C や C++ で書いて、それをそのまま
508C や C++ で書いて、それをそのままちょっとした Perl コードにリンクさせることも
683ちょっとした Perl コードにリンクせることも可能です
509可能です。L<perlembed> を参照してくだ
684L<perlembed> を参照してください。
685510
686511=begin original
687512
688513That said, there will always be small, focused, special-purpose
689514languages dedicated to a specific problem domain that are simply more
690convenient for certain kinds of problems. Perl tries to be all things
515convenient for certain kinds of problems. Perl tries to be all things
691to all people, but nothing special to anyone. Examples of specialized
516to all people, but nothing special to anyone. Examples of specialized
692517languages that come to mind include prolog and matlab.
693518
694519=end original
695520
696521ある種の問題に対しては単により便利で、特定の問題領域専用の、小型で、
697522集約された、特別な目的を持った言語は常にあるものだと言われています。
698523Perl はあらゆる人に対してあらゆるものであろうとしていますが、
699誰かに対する何か特別なものではありません。
524誰かに対する何か特別なものではありません。特化した言語の例としては
700特化した言語の例としては prolog と matlab が思い浮かんできます。
525prolog と matlab が思い浮かんできます。
701526
702527=head2 When shouldn't I program in Perl?
703528
704529(Perl でプログラムするべきではないのはどういう場合ですか?)
705530
706531=begin original
707532
708One good reason is when you already have an existing
533When your manager forbids it--but do consider replacing them :-).
534
535=end original
536
537あなたのマネージャがそれを禁じた時です -- しかし、マネージャー達を
538交代させることを熟考して下さい :-)。
539
540=begin original
541
542Actually, one good reason is when you already have an existing
709543application written in another language that's all done (and done
710544well), or you have an application language specifically designed for a
711545certain task (e.g. prolog, make).
712546
713547=end original
714548
715他の言語で記述されていてすでに使われているような(さらに
549実際には、他の言語で記述されていてすでに使われているような(さらに
716550それがうまく動いている)アプリケーションがあるとか、
717551ある特定のタスクのために特別にデザインされたアプリケーション言語(prolog や
718552make など)があるというのが理由になるでしょう。
719553
720554=begin original
721555
722If you find that you need to speed up a specific part of a Perl
556For various reasons, Perl is probably not well-suited for real-time
723application (not something you often need) you may want to use C,
557embedded systems, low-level operating systems development work like
724but you can access this from your Perl code with L<perlxs>.
558device drivers or context-switching code, complex multi-threaded
559shared-memory applications, or extremely large applications. You'll
560notice that perl is not itself written in Perl.
725561
726562=end original
727563
728(頻繁に必要にるものではあませんが) Perl アプケーョンの特定の部分を
564様々理由によPerl アルタイム組込みステムとかデバイスドライバや
729高速化する必要がある場合、C を使いたいかもしれませんが、Perl のコードから
565ンテキスト切り替えなどの低レベルなオペレティングシステムの開発作業、
730L<perlxs> を使ってこれにクセスできます。
566複雑なマルチスレッド、共有メモリを使っプリケーション、
567非常に大きなアプリケーションなどには向いていません。
568あなたは perl が Perl それ自身で記述されてないということに気がつくかも知れません。
731569
570=begin original
571
572The new, native-code compiler for Perl may eventually reduce the
573limitations given in the previous statement to some degree, but understand
574that Perl remains fundamentally a dynamically typed language, not
575a statically typed one. You certainly won't be chastised if you don't
576trust nuclear-plant or brain-surgery monitoring code to it. And Larry
577will sleep easier, too--Wall Street programs not withstanding. :-)
578
579=end original
580
581Perl 用の新たなネイティブコードコンパイラーは上に挙げた幾つかの弱点を
582改善してくれるかもしれません。
583けれども、それでも Perl は基本的には動的に型付け(dynamically typed)される
584言語であって、静的に型付け(statically typed)される言語ではないということを
585理解してください。
586原子力発電所で使うプログラムや脳外科手術モニタリングプログラムを
587信用していないのであれば、懲らしめられることはありません。
588そして、Larry もまた簡単に眠ってしまいます -- ウォール街は抵抗す
589るようプログラムされてはいません :-)
590
732591=head2 What's the difference between "perl" and "Perl"?
733592
734593(“perl”と“Perl”の違いはなんですか?)
735594
736595=begin original
737596
738"Perl" is the name of the language. Only the "P" is capitalized.
597One bit. Oh, you weren't talking ASCII? :-) Larry now uses "Perl" to
739The name of the interpreter (the program which runs the Perl script)
598signify the language proper and "perl" the implementation of it,
740is "perl" with a lowercase "p".
599i.e. the current interpreter. Hence Tom's quip that "Nothing but perl
600can parse Perl." You may or may not choose to follow this usage. For
601example, parallelism means "awk and perl" and "Python and Perl" look
602OK, while "awk and Perl" and "Python and perl" do not. But never
603write "PERL", because perl is not an acronym, apocryphal
604folklore and post-facto expansions notwithstanding.
741605
742606=end original
743607
744"Perl" は言語名前です。
608一ビット。ああ、ASCIIことを話してるんじゃないの? :-)
745"P" だけ大文字にしま
609Larry は現在“Perl”その言語の特性を表わために使い、
746インタプリタ(Perl スクリプトを実行るプログラム)の名前は "perl" です;
610“perl”を言語の実装、たとえばインタプリターとして使っていま
747小文字"p" です。
611Tom 「お言葉」では“違いはないが perl は Perl を解析きる”となります。
612たとえば、“awkとperl”とか“PythonとPerl”といった比較は良いように
613見えますが、“awkとPerl”とか“Pythonとperl”はそうではありません。
614ただし、“PERL”と書いてはいけません。なぜなら、perlは何かの
615頭字語ではないからです。
616実際のところは後づけのものがあるのですが。
748617
618=head2 Is it a Perl program or a Perl script?
619
620(Perl プログラム、それとも Perl スクリプト?)
621
749622=begin original
750623
751You may or may not choose to follow this usage. But never write "PERL",
624Larry doesn't really care. He says (half in jest) that "a script is
752because perl is not an acronym.
625what you give the actors. A program is what you give the audience."
753626
754627=end original
755628
756この使用法従っもかまいません従わなくてもかまいません
629Larry は気いません。冗談交じりに彼がいうには、
757ただし、"PERL" と書いていけません; ぜなら、perl は何か
630“スクリプト(台本)たを俳優にするも。プログラムはあなたを
758頭字語ではなからです。
631観衆にするもの”とうことです。
759632
760=head2 What is a JAPH?
633=begin original
761634
762(JAPH ってなんですか?)
635Originally, a script was a canned sequence of normally interactive
636commands--that is, a chat script. Something like a UUCP or PPP chat
637script or an expect script fits the bill nicely, as do configuration
638scripts run by a program at its start up, such F<.cshrc> or F<.ircrc>,
639for example. Chat scripts were just drivers for existing programs,
640not stand-alone programs in their own right.
763641
642=end original
643
644元々は、スクリプトとはチャットスクリプトのように、
645通常の対話コマンドの羅列でした。
646uucp とか ppp のチャットスクリプト、あるいは F<.cshrc> や F<.ircrc> のような
647プログラムのスタートアップスクリプトがそうです。
648チャットスクリプトは既にあるプログラムを
649取り扱うためのドライバであり、独立したプログラムではありません。
650
764651=begin original
765652
766(contributed by brian d foy)
653A computer scientist will correctly explain that all programs are
654interpreted and that the only question is at what level. But if you
655ask this question of someone who isn't a computer scientist, they might
656tell you that a I<program> has been compiled to physical machine code
657once and can then be run multiple times, whereas a I<script> must be
658translated by a program each time it's used.
767659
768660=end original
769661
770(brian d foy によっ寄贈された)
662コンピュータ科学者は全のプログラムが解釈されることを正
663説明しようとするでしょう。
664しかしもしあなたがコンピュータ科学者ではない人にこの質問をしたならば、
665彼らはI<プログラム>は物理的なマシンコードに一度コンパイルされて
666何度もそれを実行することができるのに対して、I<スクリプト>は
667使われる度毎に変換されるという回答をするかもしれません。
771668
772669=begin original
773670
774JAPH stands for "Just another Perl hacker,", which Randal Schwartz used
671Perl programs are (usually) neither strictly compiled nor strictly
775to sign email and usenet messages starting in the late 1980s. He
672interpreted. They can be compiled to a byte-code form (something of a
776previously used the phrase with many subjects ("Just another x hacker,"),
673Perl virtual machine) or to completely different languages, like C or
777so to distinguish his JAPH, he started to write them as Perl programs:
674assembly language. You can't tell just by looking at it whether the
675source is destined for a pure interpreter, a parse-tree interpreter,
676a byte-code interpreter, or a native-code compiler, so it's hard to give
677a definitive answer here.
778678
779679=end original
780680
781JAPH は "Just another Perl hacker," を意味Randal Schwartz 1980 年代
681Perl プログラムは、通常は厳密な意味においてコンパイルされるということはなく
782後半か電子メールと USENET のメッセージへのサインとして使始めした
682に厳密な意味におて解釈(interpret)されることもありせん
783は以前多くの話題にこのフレズを使っていた("Just another x hacker,")
683Perl プログラムバイトコド形式(Perl の仮想機械に対するもの)
784ので、JAPH を区別するためにこれらを Perl プログのように
684翻訳することができますしあるいC だとかアセンブラのような完全別な言語へ
785始めした:
685翻訳することもできます。
686あなたはソースコードが純粋なインタープリターのためにデザインされたのか、
687parse-tree インタープリターのためにデザインされたのか、バイトコード
688インタープリターのためにデザインされたのか、
689あるいはネイティブコードコンパイラーのためにデザインされたのかという区別を
690その外見から判断することはできません。
691ですから、ここでこの質問に完璧に答えるのは難しいのです。
786692
787 print "Just another Perl hacker,";
788
789693=begin original
790694
791Other people picked up on this and started to write clever or obfuscated
695Now that "script" and "scripting" are terms that have been seized by
792programs to produce the same output, spinning things quickly out of
696unscrupulous or unknowing marketeers for their own nefarious purposes,
793control while still providing hours of amusement for their creators and
697they have begun to take on strange and often pejorative meanings,
794readers.
698like "non serious" or "not real programming". Consequently, some Perl
699programmers prefer to avoid them altogether.
795700
796701=end original
797702
798他の人々がこれを取り上げて、同じ出力を生成する気の利た、また
703今では"script"や"scripting"とうの
799わかりにくいプログラムを書き始め、事態急速に制御不能とりましたが、
704悪徳な目的のたに無遠慮なあるい無知商人に捕らえられてまっ用語です。
800未だに作者読者にとって楽しみの時間を提供しています。
705これらは "non serious" や "not real programming" 同様、
706不思議でしばしば軽蔑的な意味を持ち始めています。
707そのようなわけで、これらの単語を使わないようにしている Perl プログラマもいます。
801708
709=head2 What is a JAPH?
710
711(JAPHってなんですか?)
712
802713=begin original
803714
804CPAN has several JAPH programs at L<http://www.cpan.org/misc/japh>.
715These are the "just another perl hacker" signatures that some people
716sign their postings with. Randal Schwartz made these famous. About
717100 of the earlier ones are available from
718http://www.cpan.org/misc/japh .
805719
806720=end original
807721
808CPAN は L<http://www.cpan.org/misc/japh> に、くつかの JAPH プロラムが
722何人かの人が自分の投稿“just another perl hacker”とうシネチャーを
809あります。
723つかっていした。なかでもRandal Schwartzのものが有名です。
724初期のものから百個ばかりが
725http://www.cpan.org/misc/japh
726から入手できます。
810727
811=head2 How can I convince others to use Perl?
728=head2 Where can I get a list of Larry Wall witticisms?
812729
813(他の人に、どうすれば Perl を使うように説得きるでしょうか?)
730(Larry Wallの「お言葉」(witticisms)はどこ手に入れられますか?)
814731
815732=begin original
816733
817(contributed by brian d foy)
734Over a hundred quips by Larry, from postings of his or source code,
735can be found at http://www.cpan.org/misc/lwall-quotes.txt.gz .
818736
819737=end original
820738
821(brian d foy によって寄贈されまし)
739投稿されたものとか、ソースコードにあった百個以上のLarryの「お言葉」が
740http://www.cpan.org/misc/lwall-quotes.txt.gz
741で見つけられます。
822742
743=head2 How can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language?
744
745(私に関係するシステム管理者や、雇っている人々に、どうすれば他の言語ではなく Perl/Perl 5/Perl 5.6.1 を使うように説得できるでしょうか?)
746
823747=begin original
824748
825Appeal to their self interest! If Perl is new (and thus scary) to them,
749If your manager or employees are wary of unsupported software, or
826find something that Perl can do to solve one of their problems. That
750software which doesn't officially ship with your operating system, you
827might mean that Perl either saves them something (time, headaches, money)
751might try to appeal to their self-interest. If programmers can be
828or gives them something (flexibility, power, testability).
752more productive using and utilizing Perl constructs, functionality,
753simplicity, and power, then the typical manager/supervisor/employee
754may be persuaded. Regarding using Perl in general, it's also
755sometimes helpful to point out that delivery times may be reduced
756using Perl compared to other languages.
829757
830758=end original
831759
832彼ら自身関心に訴えくださ!
760あなたマネージャであるとかあなたが雇っている人々が、
833もし彼らにとっ Perl が新し(従って恐ろし) ものなら、
761サポートされていないソフトウェアやあなたの使ってい
834Perl が彼らの問題のひとつを解決できるようことを何かひとつ
762オペレーティングシステム用に公式に出荷されていいソフトウェアに対して
835見つけくださ
763用心しているというのであれば、彼ら自身の興味に訴えかけることを
836これによって、Perl が何か(時間、悩み、時間)を節約するか
764試せるかもしれません。
837(柔軟性力、テスト可能性)与えることを意味するかもしれません。
765Perl の構成であるとか、能性、単純さ、威力使ったり活用することによって
766プログラマーがより生産的になるのであれば、典型的な管理者(や雇っている人)などを
767説得できるでしょう。
768Perl の使用に関しては、同様に(Perl の使用によって)開発時間が
769他の言語と比べたときに短縮されることが助けになることがあるかもしれません。
838770
839771=begin original
840772
841In general, the benefit of a language is closely related to the skill of
773If you have a project which has a bottleneck, especially in terms of
842the people using that language. If you or your team can be faster,
774translation or testing, Perl almost certainly will provide a viable,
843better, and stronger through Perl, you'll deliver more value. Remember,
775quick solution. In conjunction with any persuasion effort, you
844people often respond better to what they get out of it. If you run
776should not fail to point out that Perl is used, quite extensively, and
845into resistance, figure out what those people get out of the other
777with extremely reliable and valuable results, at many large computer
846choice and how Perl might satisfy that requirement.
778software and hardware companies throughout the world. In fact,
779many Unix vendors now ship Perl by default. Support is usually
780just a news-posting away, if you can't find the answer in the
781I<comprehensive> documentation, including this FAQ.
847782
848783=end original
849784
850一般的に、る言語の利点は、その言語を使う人々のスキルに大き関係
785もしあな特に変換とかテストにおいてボトルネックを抱えたプロジェクトを
851ります。
786持っているのでれば、Perl はほぼ確実に明確、かつ迅速な解決策を提供るでしょう
852もし Perl によってあたはあなたチームがより速くより良く、より
787んらか説得の努力と組み合わせて
853強くなれるなら、あなたはより多の価値を届けことができます。
788あなたは Perl は非常に幅広使われていて、世界中至所のコンピューター
854人々はしばしば、そこから何を得られるかよりよく反応するこ
789ソフトウェアやハードウェアの企業おいて非常に高い信頼価値ある結果が
855覚えておてください
790あることを説明することに失敗すべきでなでしょう
856もし抵抗遭った場合は人々が他の選択肢から何引き出しているか、
791に、多く UNIX ベンダーは現在デフォルトで Perl を出しています。
857そしてどうすれば Perl 要求満たすかを見つけ出しください。
792そしてサポートとは、あなたFAQ含め I<総合的な> ドキュメントに回答を
793見つけることができなければ、通常は単に netnews に投稿することです。
858794
859795=begin original
860796
861You don't have to worry about finding or paying for Perl; it's freely
797See http://www.perl.org/advocacy/ for more information.
862available and several popular operating systems come with Perl. Community
863support in places such as Perlmonks ( L<http://www.perlmonks.com> )
864and the various Perl mailing lists ( L<http://lists.perl.org> ) means that
865you can usually get quick answers to your problems.
866798
867799=end original
868800
869Perl を探たり買ったりする心配する必要ありません; Perl はフリーで
801い情報http://www.perl.org/advocacy/ を参照してください。
870利用でき、いくつかの有名なオペレーティングシステムは Perl を同梱しています。
871Perlmonks ( L<http://www.perlmonks.com> ) のようにあちこちにあるコミュニティ
872サポートと、様々な Perl メーリングリスト
873( L<http://lists.perl.org> ) によって、たいていはあなたの問題に対する素早い
874回答を得られます。
875802
876803=begin original
877804
878Finally, keep in mind that Perl might not be the right tool for every
805If you face reluctance to upgrading from an older version of perl,
879job. You're a much better advocate if your claims are reasonable and
806then point out that version 4 is utterly unmaintained and unsupported
880grounded in reality. Dogmatically advocating anything tends to make
807by the Perl Development Team. Another big sell for Perl5 is the large
881people discount your message. Be honest about possible disadvantages
808number of modules and extensions which greatly reduce development time
882to your choice of Perl since any choice has trade-offs.
809for any given task. Also mention that the difference between version
8104 and version 5 of Perl is like the difference between awk and C++.
811(Well, OK, maybe it's not quite that distinct, but you get the idea.)
812If you want support and a reasonable guarantee that what you're
813developing will continue to work in the future, then you have to run
814the supported version. As of December 2003 that means running either
8155.8.2 (released in November 2003), or one of the older releases like
8165.6.2 (also released in November 2003; a maintenance release to let perl
8175.6 compile on newer systems as 5.6.1 was released in April 2001) or
8185.005_03 (released in March 1999),
819although 5.004_05 isn't that bad if you B<absolutely> need such an old
820version (released in April 1999) for stability reasons.
821Anything older than 5.004_05 shouldn't be used.
883822
884823=end original
885824
886最後にPerl が全て作業に対して正しいツルとは限らないことを心
825もしあなたが古いバージョンの perl からアップグレ対する不平・
887留めださい。
826不満に直面しているのであれば、(perl の)バージョン 4 はまった
888たの主張が妥当で、現実に基たものであればあなたは遥かによ
827保守されていないことやPerl 開発チームによるサポートも
889提唱者と
828されていいということを指摘ししょう
890なんであれ独善的な主張を行と、人々なたの主張割り引いて扱う
829一つの Perl5 の大きなウリんらかの仕事をする開発時間
891傾向があります
830大きく削減するようなモジュールやエクステンション数多くるということでしょう
892全ての選択はトレードオフがありますので、Perl という選択対して
831同様に、Perl のバージョン 4 5 との間の違はawkとC++との間ある違い
893り得る弱点つい素直にりましょう。
832(うん、まそんなは違ってないんだろうけどでも趣旨はわかるでしょ?)くらい
833大きいということに言及しましょう。
834もしあなたが将来に渡り開発し続けているものに対してのサポートや現実的な
835利益というものを欲しているのであれば、サポートされているバージョンを
836使うべきでしょう。
8372003 年 12 月の時点では、これはリリース 5.8.2 (2003 年 11 月リリース)か
838リリース 5.6.2 (これも2003 年 11 月リリース;
8392001 年 4 月リリースのリリース 5.6.1 より新しいシステムで 5.6 をコンパイルするための
840メンテナンスリリース)か
8415.005_03(1999 年 3 月リリース)といった古いバージョンのひとつのことを意味しますが、
842もしB<どうしても>安定性のために古いバージョンが必要なら、
8435.004_05(1999 年 4 月リリース)でもそう悪くはありません。
8445.004_05 より古いものは使うべきではありません。
894845
895846=begin original
896847
897You might find these links useful:
848Of particular note is the massive bug hunt for buffer overflow
849problems that went into the 5.004 release. All releases prior to
850that, including perl4, are considered insecure and should be upgraded
851as soon as possible.
898852
899853=end original
900854
901以下のリンク有用かもせん:
855注意すべきことらとて、5.004 に至るでバッファーオーバーフローの
856可能性がありました。
857Perl4 も含めてこれ以前の全てのリリースは安全性に問題があります。
858速やかにバージョンアップすべきです。
902859
903=over 4
860=begin original
904861
905=item * L<http://www.perl.org/about.html>
862In August 2000 in all Linux distributions a new security problem was
863found in the optional 'suidperl' (not built or installed by default)
864in all the Perl branches 5.6, 5.005, and 5.004, see
865http://www.cpan.org/src/5.0/sperl-2000-08-05/
866Perl maintenance releases 5.6.1 and 5.8.0 have this security hole closed.
867Most, if not all, Linux distribution have patches for this
868vulnerability available, see http://www.linuxsecurity.com/advisories/ ,
869but the most recommendable way is to upgrade to at least Perl 5.6.1.
906870
907=item * L<http://perltraining.com.au/whyperl.html>
871=end original
908872
909=back
8732000 年 8 月に、全ての Linux ディストリビューションは Perl 5.6, 5.005, 5.004 に
874含まれる、オプションの 'suidperl' (デフォルトではビルドやインストールは
875されません) に新しいセキュリティ問題があるのを発見しました。
876http://www.cpan.org/src/5.0/sperl-2000-08-05/
877を参照してください。
878Perl のメンテナンスリリースである 5.6.1 と 5.8.0 ではこのセキュリティホールは
879修正されています。全てではないものの、ほとんどの Linux ディストリビューションでは
880この脆弱性のためのパッチを用意しています。
881http://www.linuxsecurity.com/advisories/ を参照して下さい。
882しかし、もっとも推奨されるのは少なくとも 5.6.1 にアップグレードすることです。
910883
911884=head1 AUTHOR AND COPYRIGHT
912885
913Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and
886Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen and Nathan
914other authors as noted. All rights reserved.
887Torkington. All rights reserved.
915888
916889This documentation is free; you can redistribute it and/or modify it
917890under the same terms as Perl itself.
918891
919892Irrespective of its distribution, all code examples here are in the public
920domain. You are permitted and encouraged to use this code and any
893domain. You are permitted and encouraged to use this code and any
921894derivatives thereof in your own programs for fun or for profit as you
922see fit. A simple comment in the code giving credit to the FAQ would
895see fit. A simple comment in the code giving credit to the FAQ would
923896be courteous but is not required.
924
925=begin meta
926
927Translate: 吉村 寿人 <JAE00534@niftyserve.or.jp>
928Update: SHIRAKATA Kentaro <argrath@ub32.org> (5.6.1-5.14.1, 5.00150039)
929Status: completed
930
931=end meta