perlfaq1 > 5.0150044 との差分

perlfaq1 5.0150044 と 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
1413=head1 DESCRIPTION
1514
1615=begin original
1716
1817This section of the FAQ answers very general, high-level questions
1918about Perl.
2019
2120=end original
2221
23このセクションでは、Perl に関する非常に一般的高レベルの質問に答えます。
22このセクションでは、Perlに関する非常に一般的高レベルの質問に答えます。
2423
2524=head2 What is Perl?
2625
2726(Perlってなんですか?)
2827
2928=begin original
3029
3130Perl is a high-level programming language with an eclectic heritage
32written 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,
34=end original
33awk, the Unix shell, and at least a dozen other tools and languages.
35
36Perl は Larry Wall と数多い協力者によって書かれた、折衷的な遺産を持った
37高水準プログラミング言語です。
38
39=begin original
40
4134Perl's process, file, and text manipulation facilities make it
4235particularly well-suited for tasks involving quick prototyping, system
4336utilities, software tools, system management tasks, database access,
44graphical 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.
4541
4642=end original
4743
48Perl のプロセス、ファイル及びテキスト操作機能は、
44Perl は Larry Wall と数多い協力者によって書かれた折衷的な遺産を持った
45高水準プログラミング言語です。
46それは遍在するプログラミング言語であるCから派生し、
47そしてそれ程ではないけれども、
48sed、awk、Unix のシェルおよび少なくともダース単位の他のツールや言語に
49影響を受けています。Perlのプロセス、ファイル及びテキスト操作機能は、
4950クィックプロトタイピング、システムユーティリティ、ソフトウェアツール、
5051システム管理タスク、データベースアクセス、グラフィカルプログラミング、
51ネットワーキング、そして web プログラミングを含んだタスクに
52ネットワーキング、そして world wide web プログラミングを含んだタスクに
5253特に適したものになっています。
54これらの強みは、システム管理者やCGI スクリプトの作者に特に人気を博すもとと
55なっていますが、数学者、遺伝学者、ジャーナリスト、そして管理者も
56また Perl を利用しているのです。たぶんあなたもそうなるでしょう。
5357
54=begin original
58=head2 Who supports Perl? Who develops it? Why is it free?
5559
56Perl derives from the ubiquitous C programming language and to a
60(だれがPerlをサポートしているのですか? 誰が開発しているのですか? なぜフリーなのでしょうか?)
57lesser extent from sed, awk, the Unix shell, and many other tools
58and languages.
5961
60=end original
61
62Perl は遍在するプログラミング言語である C から派生し、そして
63それ程ではないけれども、
64sed、awk、Unix のシェルおよび多くのその他のツールや言語に
65影響を受けています。
66
6762=begin original
6863
69These strengths make it especially popular with web developers
70and system administrators. Mathematicians, geneticists, journalists,
71managers and many other people also use Perl.
72
73=end original
74
75これらの強みは、特に web 開発者とシステム管理者に人気を博しています。
76数学者、遺伝学者、ジャーナリスト、管理者やその他の多くの人々も Perl を
77利用しています。
78
79=head2 Who supports Perl? Who develops it? Why is it free?
80
81(だれが Perl をサポートしているのですか? 誰が開発しているのですか? なぜフリーなのでしょうか?)
82
83=begin original
84
8564The original culture of the pre-populist Internet and the deeply-held
8665beliefs of Perl's author, Larry Wall, gave rise to the free and open
87distribution policy of Perl. Perl is supported by its users. The
66distribution policy of perl. Perl is supported by its users. The
8867core, the standard Perl library, the optional modules, and the
89documentation 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.
9072
9173=end original
9274
9375pre-populist なインターネットの独特の文化と、Perl の作者である Larry
94Wall の強い信条が、Perl のフリーでオープンな配布政策を生じさせました。
76Wall の強い信条が、perl のフリーでオープンな配布政策を生じさせました。
9577Perl はその利用者によってサポートされています。コア、Perl の標準
9678ライブラリ、オプションモジュール、そしてあなたが今読んでいる資料は
97全てボランティアの手で書かれました。
79全てボランティアの手で書かれました。詳細は perl ソース配布セットの
80README ファイルの最後にあるパーソナルノートを参照して下さい。
81Perl のマイルストーンリリースについてはL<perlhist>(5.005で追加)
82を参照してください
9883
9984=begin original
10085
101The core development team (known as the Perl Porters)
86In particular, the core development team (known as the Perl Porters)
102are a group of highly altruistic individuals committed to
87are a rag-tag band of highly altruistic individuals committed to
10388producing better software for free than you could hope to purchase for
104money. You may snoop on pending developments via the
89money. You may snoop on pending developments via the archives at
105L<archives|http://www.nntp.perl.org/group/perl.perl5.porters/>
90http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
106or 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 ,
10795or you can subscribe to the mailing list by sending
108perl5-porters-subscribe@perl.org a subscription request
96perl5-porters-request@perl.org a subscription request
10997(an empty message with no subject is fine).
11098
11199=end original
112100
113(Perl Porters として知られる)コア開発チームは、お金を出してで
101特に、(Perl Porters として知られる)コア開発チームは、お金を出してで
114購入したいと思うレベルのものよりも、さらに良いソフトウェアを無料で
102購入したいと思うレベルのものよりも、さらに良いソフトウェアを無
115作り出すのだと誓っている、非常に利他的な人達の集です。
103料で作り出すのだと誓っている、非常に利他的な人達の寄せめ部隊です。
116L<アーカイブ|http://www.nntp.perl.org/group/perl.perl5.porters/>
104http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
117から延び延びとなっている開発についてかぎまわったり、
105
118L<FAQ|http://dev.perl.org/perl5/docs/p5p-faq.html> を読んだり、
106http://archive.develooper.com/perl5-porters@perl.org/
119あるい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 へ登録願いを出すことに
120112よってメイリングリストに参加することもできます
121113(タイトルなしの空メールでかまいません)。
122114
123115=begin original
124116
125117While the GNU project includes Perl in its distributions, there's no
126such 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
127Free Software Foundation. Perl's licensing terms are also more open
119Free Software Foundation. Perl's licensing terms are also more open
128120than GNU software's tend to be.
129121
130122=end original
131123
132GNU プロジェクトはその配布セットに Perl を含んでいますが、"GNU Perl"
124GNU プロジェクトはその配布セットにPerlを含んでいますが、"GNU Perl"
133のようなものはありません。
125のようなものはありません。Perl は Free Software Foundation による作成も
134Perl は Free Software Foundation による作成も保守もされてはいません。
126保守もされてはいません。Perl のライセンス条件は GNU ソフトウェアが
135Perl のライセンス条件は GNU ソフトウェアが
136127通常取っているよりもさらにオープンなものとなっています。
137128
138129=begin original
139130
140131You can get commercial support of Perl if you wish, although for most
141users the informal support will more than suffice. See the answer to
132users the informal support will more than suffice. See the answer to
142"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.
143134
144135=end original
145136
146あなたが望むなら、Perl の商用サポートを受けることが出来ます;
137あなたが望むなら、Perl の商用サポートを受けることが出来ます
147けれども、大半の利用者にとっては、非公式のサポートは期待水準以上のものでしょう。
138けれども、大半の利用者にとっては、非公式のサポートは
148くは "Where can I buy a commercial version of Perl?"
139期待水準以上のものでょう。
149(どこで商用版 Perl を買うことが出来ますか?) の回答を参照してください。
140詳しくは "Where can I buy a commercial version of perl?"
141(どこで商用版Perlを買うことが出来ますか?) の回答を参照してください。
150142
151143=head2 Which version of Perl should I use?
152144
153145(どのバージョンの Perl を使うべきなのでしょうか?)
154146
155147=begin original
156148
157(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.
158161
159162=end original
160163
161(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これはセキュリティ上問題です。
162176
163=begin original
177=head2 What are perl4 and perl5?
164178
165There is often a matter of opinion and taste, and there isn't any one
179(perl4 perl5 ってなんですか?)
166answer that fits everyone. In general, you want to use either the current
167stable release, or the stable release immediately prior to that one.
168Currently, those are perl5.18.x and perl5.16.x, respectively.
169180
170=end original
171
172これはしばしば見解と嗜好の問題であり、誰にでも適応する一つの答えというものは
173ありません。
174一般的に、現在の安定版か、その一つ前の安定版を使いたいでしょう。
175現在のところ、それぞれ perl5.18.x と perl5.16.x となります。
176
177181=begin original
178182
179Beyond that, you have to consider several things and decide which is best
183Perl4 and perl5 are informal names for different versions of the Perl
180for 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).
181190
182191=end original
183192
184それはそれしていくつか事柄を考慮して、どれがあたにと
193perl4 perl5 はperl プログラミング言語なったバージョンの
185最良あるかを決定る必要があります
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 月)もありました。
186202
187=over 4
188
189=item *
190
191203=begin original
192204
193If 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
194new 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">.
195211
196212=end original
197213
198物事がおかしくなっていないならperl をアップグレドすることおかしくなる
2145.0 のリリースは本質的にリリース 1 からリリス 4 ま
199(または少くとも新しい警告が出る)可能性があります。
215perl ソースコードの完全書き換えです。
216それは、旧コードには似ても似つかなくなるまで、モジュール化され、
217オブジェクト指向となり、微調整され、整備され、最適化されました。
218しかしながら、インターフェースはほとんど同じであり、以前のバージョンとの
219互換性は非常に高いです。
220L<perltrap/"Perl4 to Perl5 Traps">を参照してください。
200221
201=item *
202
203222=begin original
204223
205The 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.
206227
207228=end original
208229
209最新バージョンの perl はより多くのバグが修正されていま
230perl5どんな言語でか?」という混乱を避けるため、ある人々は
231perl の最新バージョンに言及するのに単に"perl"を使うのを好み、全体に
232"perl5"を使うのを避けています。本当はたいした事ではないのですが。
210233
211=item *
212
213234=begin original
214235
215The Perl community is geared toward supporting the most recent releases,
236See L<perlhist> for a history of Perl revisions.
216so you'll have an easier time finding help for those.
217237
218238=end original
219239
220Perl のコミュニティは最新リリースサポート集中するので、
240Perl の改訂歴史関しては L<perlhist> を参照してください。
221それらに対する助けは早く得られます。
222241
223=item *
242=head2 What is Ponie?
224243
225244=begin original
226245
227Versions prior to perl5.004 had serious security problems with buffer
246At The O'Reilly Open Source Software Convention in 2003, Artur
228overflows, and in some cases have CERT advisories (for instance,
247Bergman, Fotango, and The Perl Foundation announced a project to
229L<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.
230253
231254=end original
232255
233perl5.004 以前バージョンにはバッファオーバーフローによる重大な
2562003 O'Reilly Open Source Software Convention で、
234セキュリティ問題があり、その一部には CERT アドバイザリ (例えば、
257Artur Bergman, Fotango, The Perl Foundation は perl5 を Parrot 仮想マシンで
235L<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 の完全な書き換えではありません。
236262
237=item *
238
239263=begin original
240264
241The latest versions are probably the least deployed and widely tested, so
265For more details, see http://www.poniecode.org/
242you may want to wait a few months after their release and see what
243problems others have if you are risk averse.
244266
245267=end original
246268
247最新版あまり使われいなて十分にテストれてないので、
269詳細について、http://www.poniecode.org/ を見てくさい
248もしリスクを嫌うならリリース後数ヶ月待って他の人がどんな問題を
249抱えたかを確認したいかもしれません。
250270
251=item *
271=head2 What is perl6?
252272
253=begin original
273(perl6ってなんですか?)
254274
255The immediate, previous releases (i.e. perl5.14.x ) are usually maintained
256for a while, although not at the same level as the current releases.
257
258=end original
259
260直前のリリース (つまり perl5.14.x ) は普通しばらくの間
261メンテナンスされますが、カレントリリースと同じレベルではありません。
262
263=item *
264
265275=begin original
266276
267No one is actively supporting Perl 4. Ten years ago it was a dead
277At The Second O'Reilly Open Source Software Convention, Larry Wall
268camel carcass (according to this document). Now it's barely a skeleton
278announced Perl6 development would begin in earnest. Perl6 was an oft
269as 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.
270282
271283=end original
272284
273だれも積極的に Perl 4 をサポートしてません。
285 2 回 O'Reilly Open Source Software Convention におて、 Larry Wall は
27410 年前、(こ文書よれば)ラクダの死体なりました。
286Perl6開発を本格的開始するアナウンスしました。
275今となって白骨化していま
287Perl6 Chip Salzenberg による Topaz と呼ばれる Perl を C++ で書き直
288プロジェクトでしばしば使われていました。Topaz は Perl の次のバージョンと
289その実装への価値ある知見をもたらしましたが、完全に中断しています。
276290
277=item *
278
279291=begin original
280292
281The 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
282usable, '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
2832010. Please see L<http://rakudo.org/> for more information.
295page at http://dev.perl.org/perl6/ and get involved.
284296
285297=end original
286298
287現在の指導的な Perl 6 実装である Rakudo は、「有用で使用可能で
299Perl6 についてもっと知りたい、または Perl をよりよき場所へと導く
288『アーリーアダプタ』向」の Perl 6 配布 (Rakudo Star と呼ばれます)
300十字軍を助たいなら、Perl6 開発者ページ http://dev.perl.org/perl6/
2892010 年 6 月にリリース
301熟読て、参加てください
290さらなる情報についてはどうか L<http://rakudo.org/> を参照してください。
291302
292=item *
293
294303=begin original
295304
296There are really two tracks of perl development: a maintenance version
305Perl6 is not scheduled for release yet, and Perl5 will still be supported
297and an experimental version. The maintenance versions are stable, and
306for quite awhile after its release. Do not wait for Perl6 to do whatever
298have an even number as the minor release (i.e. perl5.18.x, where 18 is the
307you need to do.
299minor release). The experimental versions may include features that
300don't make it into the stable versions, and have an odd number as the
301minor release (i.e. perl5.19.x, where 9 is the minor release).
302308
303309=end original
304310
305実際の perl の開発2 つの路線があります: メンテナン版と実験版です。
311Perl6 はまだリリース予定なく、Perl5 Perl6 がリリーされた後も
306メンテナンス版は安定ていて、マイナリリース番号に偶数を使います
312ばらくの間サポトされます
307(例えばperl5.18.0; 18 がマイナーリリース番号です)
313何かをしようとする時にPerl6を待つ必要はありません
308実験版は安定版に含まれていない機能が含まれていて、マイナーリリース番号に
309奇数を使います(例えば、perl5.19.x; 19 がマイナーリリース番号です)。
310314
311=back
312
313=head2 What are Perl 4, Perl 5, or Perl 6?
314
315(Perl 4, Perl 5, Perl 6 って何ですか?)
316
317315=begin original
318316
319In short, Perl 4 is the parent to both Perl 5 and Perl 6. Perl 5 is the older
320sibling, and though they are different languages, someone who knows one will
321spot many similarities in the other.
322
323=end original
324
325短く言うと、Perl 4 は Perl 5 と Perl 6 双方の親です。
326Perl 5 は兄で、違う言語ではありますが、片方を知っている人はもう片方にも
327多くの類似性を見つけるでしょう。
328
329=begin original
330
331The number after Perl (i.e. the 5 after Perl 5) is the major release
332of the perl interpreter as well as the version of the language. Each
333major version has significant differences that earlier versions cannot
334support.
335
336=end original
337
338"Perl" の後ろの数字(例えば "Perl 5" の 5)は perl インタプリタの
339メジャーリリース番号であり、言語のバージョンでもあります。
340メジャーバージョン毎に、以前のバージョンでは対応できない
341大きな違いがあります。
342
343=begin original
344
345The current major release of Perl is Perl 5, first released in
3461994. It can run scripts from the previous major release, Perl 4
347(March 1991), but has significant differences.
348
349=end original
350
351現在の Perl のメジャーリリースは Perl 5 あり、1994 年に最初に
352リリースされました。
353以前のメジャーリリースである Perl 4 (1991 年 3 月リリース) のスクリプトも
354動きますが、重大な違いがあります。
355
356=begin original
357
358Perl 6 is a reinvention of Perl, it is a language in the same lineage but
359not compatible. The two are complementary, not mutually exclusive. Perl 6 is
360not meant to replace Perl 5, and vice versa. See L</"What is Perl 6?"> below
361to find out more.
362
363=end original
364
365Perl 6 は Perl の再開発です; これは同じ一族ですが互換性はありません。
366この二つは補完的であり、排他的ではありません。
367Perl 6 は Perl 5 の置き換えを意味しませんし、逆もまた真なりです。
368さらなる情報については L</"What is Perl 6?"> を参照してください。
369
370=begin original
371
372See L<perlhist> for a history of Perl revisions.
373
374=end original
375
376Perl の改訂の歴史に関しては L<perlhist> を参照してください。
377
378=head2 What is Perl 6?
379
380(Perl 6 ってなんですか?)
381
382=begin original
383
384Perl 6 was I<originally> described as the community's rewrite of Perl 5.
385Development started in 2002; syntax and design work continue to this day.
386As the language has evolved, it has become clear that it is a separate
387language, incompatible with Perl 5 but in the same language family.
388
389=end original
390
391Perl 6 は I<元々は> コミュニティによる Perl 5 の書き直しとされていました。
392開発は 2002 年に開始されました; 文法と設計の作業は現在でも続いています。
393言語が進化するにつれて、Perl 5 とは同じ言語ファミリではありますが
394別の互換性のない言語であることがはっきりしてきました。
395
396=begin original
397
398Contrary to popular belief, Perl 6 and Perl 5 peacefully coexist with one
399another. Perl 6 has proven to be a fascinating source of ideas for those
400using Perl 5 (the L<Moose> object system is a well-known example). There is
401overlap in the communities, and this overlap fosters the tradition of sharing
402and borrowing that have been instrumental to Perl's success. The current
403leading implementation of Perl 6 is Rakudo, and you can learn more about
404it at L<http://rakudo.org>.
405
406=end original
407
408一般に信じられていることに反して、Perl 6 と Perl 5 は平和的に共存します。
409Perl 6 は Perl 5 を使うときの興味深いアイデアの基と考えられています (L<Moose>
410オブジェクトシステムはよく知られた例です)。
411コミュニティは重なっていて、この重なりは Perl の成功に役だった共有と借用の
412伝統を育てています。
413現在の指導的な Perl 6 実装は Rakudo で、L<http://rakudo.org> でさらに
414学べます。
415
416=begin original
417
418If you want to learn more about Perl 6, or have a desire to help in
419the crusade to make Perl a better place then read the Perl 6 developers
420page at L<http://www.perl6.org/> and get involved.
421
422=end original
423
424Perl 6 についてもっと知りたい、または Perl をよりよき場所へと導く
425十字軍を助けたいなら、Perl 6 開発者ページ L<http://www.perl6.org/> を
426読んで、参加してください。
427
428=begin original
429
430317"We're really serious about reinventing everything that needs reinventing."
431318--Larry Wall
432319
433320=end original
434321
435322"We're really serious about reinventing everything that needs reinventing."
436323--Larry Wall
437324
438325=head2 How stable is Perl?
439326
440(Perl はどのくらい安定しているのでしょうか?)
327(Perlはどのくらい安定しているのでしょうか?)
441328
442329=begin original
443330
444331Production releases, which incorporate bug fixes and new functionality,
445are widely tested before release. Since the 5.000 release, we have
332are widely tested before release. Since the 5.000 release, we have
446averaged about one production release per year.
333averaged only about one production release per year.
447334
448335=end original
449336
450337バグのフィックスと新機能を組み入れた本番リリースは、リリース前に
451広くテストされます。
338広くテストされます。平均すると、5.000 のリリースからはだいたい一年に一回の割で
452平均すると、5.000 のリリースからはだいたい一年に一回の割で
453339本番リリースをしてきました。
454340
455341=begin original
456342
457The Perl development team occasionally make changes to the
343Larry and the Perl development team occasionally make changes to the
458344internal core of the language, but all possible efforts are made toward
459backward 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).
460349
461350=end original
462351
463352Larry と Perl 開発チームは時折言語内部のコアに対する変更を行いますが、
464可能な限り旧版との互換性維持に努めています。
353可能な限り旧版との互換性維持に努めています。全ての perl4 スクリプトが
354perl5 の下で無傷で走るわけではありませんが、perl のアップデートによって、
355(偶発的なバグフィックスの排除とまれな新しいキーワードがなければ)
356以前のバージョンの perl 向けに書かれたプログラムを無効になってしまうことは
357ほとんどありえないでしょう。
465358
466=head2 How often are new versions of Perl released?
467
468(どのくらいのペースで新しいバージョンの Perl はリリースされますか?)
469
470=begin original
471
472Recently, the plan has been to release a new version of Perl roughly every
473April, but getting the release right is more important than sticking rigidly to
474a calendar date, so the release date is somewhat flexible. The historical
475release dates can be viewed at L<http://www.cpan.org/src/README.html>.
476
477=end original
478
479最近は、新しいバージョンの Perl をおおよそ毎年 4 月にリリースする計画ですが、
480正しくリリースすることがカレンダー日付に厳格にこだわるよりも重要なので、
481リリース日はやや柔軟です。
482歴史上のリリース日は L<http://www.cpan.org/src/README.html> で見られます。
483
484
485=begin original
486
487Even numbered minor versions (5.14, 5.16, 5.18) are production versions, and
488odd numbered minor versions (5.15, 5.17, 5.19) are development versions. Unless
489you want to try out an experimental feature, you probably never want to install
490a development version of Perl.
491
492=end original
493
494偶数のマイナーバージョン (5.14, 5.16, 5.18) は製品版バージョンで、
495偶数のマイナーバージョン (5.15, 5.17, 5.19) は開発版バージョンです。
496実験的な機能を試したいのでないかぎり、おそらく決して Perl の開発版を
497インストールしようとしない方がよいでしょう。
498
499=begin original
500
501The Perl development team are called Perl 5 Porters, and their
502organization is described at L<http://perldoc.perl.org/perlpolicy.html>.
503The organizational rules really just boil down to one: Larry is always
504right, even when he was wrong.
505
506=end original
507
508Perl 開発チームは Perl 5 Porters と呼ばれ、その組織は
509L<http://perldoc.perl.org/perlpolicy.html> に記述されています。
510組織の規則は要約するとただ一つです: Larry は常に正しいです;
511たとえ以前は間違っていてもです。
512
513359=head2 Is Perl difficult to learn?
514360
515(Perl は学ぶのが難しいのでしょうか?)
361(Perlは学ぶのが難しいのでしょうか?)
516362
517363=begin original
518364
519No, 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
520366like most programming languages you're likely to have experience
521367with, so if you've ever written a C program, an awk script, a shell
522368script, or even a BASIC program, you're already partway there.
523369
524370=end original
525371
526いいえ; Perl L<学び始める|http://learn.perl.org/> のが容易で -- しかも
372いいえPerlは学び始めるのが容易で -- しかも学び続けるのが容易なのです。
527学び続けるのが容易す。
373Perlはあたが(たぶん)慣れ親しんきたたいていのプログラミング
528Perl はあなたが(たぶん)慣れ親しんできたたいていのプログラミング
374言語ように見えます。ですから、C プログラムを、awk スクリプトを、
529言語のように見えます; ですから、C プログラムを、awk スクリプトを
375シェルスクリプトをはたまたBASICプログラムであろうと書いたことがあるのなら
530シェルスクリプトを、はたまた BASIC プログラムでろうと書いたことが
376既に習得途上にるわけです。
531あるのなら、既に習得の途上にあるわけです。
532377
533378=begin original
534379
535Most 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
536381the guiding mottos for Perl development is "there's more than one way
537to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's
382to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's
538383learning curve is therefore shallow (easy to learn) and long (there's
539384a whole lot you can do if you really want).
540385
541386=end original
542387
543388たいていのタスクは Perl 言語の小さなサブセットを要求するだけです。
544Perl の開発における指導的モットーのひとつは、「それを行うやり方は
389Perlの開発における指導的モットーのひとつは、「それを行うやり方は
545390一つではない」("there's more than one way to do it)というもので
546す(TMTOWTDI、時々"tim toady"と発音される)。
391す(TMTOWTDI、時々"tim toady"と発音される)。それ故、Perl の習得曲線は浅く
547それ故、Perl の習得曲線は浅く
548392(学びやすく)長い(もしほんとうに望むのならできることは山ほどある)のです。
549393
550394=begin original
551395
552396Finally, because Perl is frequently (but not always, and certainly not by
553397definition) an interpreted language, you can write your programs and test
554398them without an intermediate compilation step, allowing you to experiment
555and test/debug quickly and easily. This ease of experimentation flattens
399and test/debug quickly and easily. This ease of experimentation flattens
556400the learning curve even more.
557401
558402=end original
559403
560最後に、Perl はしばしば(しかし常に、ではありません; 定義によります)
404最後に、Perl はしばしば(しかし常に、ではありません定義によります)
561言われるようにインタープリター型言語です; つまり、プログラムを書いたら、
405言われるようにインタープリター型言語ですつまり、プログラムを書いたら、
562406中間コンパイルステップに入らずそのままテストでき、実験や、
563407テスト/デバッグをすばやく、かつ容易に行なえるようにしてくれるわけです。
564408この実験の容易さが、よりいっそう習得曲線を平らにします
565409
566410=begin original
567411
568412Things that make Perl easier to learn: Unix experience, almost any kind
569413of programming experience, an understanding of regular expressions, and
570the 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
571415need to do, then it's probably already been done, and a working example is
572usually available for free. Don't forget Perl modules, either.
416usually available for free. Don't forget the new perl modules, either.
573They'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
574418discussed in Part 2.
575419
576420=end original
577421
578422Perl をより学びやすくするもの: UNIX の経験、ほとんどあらゆる種類の
579423プログラミング経験、正規表現の理解、そして他の人のコードを理解する力。
580424あなたが何か行う必要がある場合、たぶんそれは行われており、
581通常その仕事の事例はフリーで利用することができます。
425通常その仕事の事例はフリーで利用することができます。新しい perl モジュールも
582Perl モジュールも忘れてはなりません。
426忘れてはなりません。それらは二章で議論されている CPAN と共に、
583それらは二章で議論されている L<CPAN|http://www.cpan.org/> と共に、
584427この FAQ の三章で議論されています。
585428
586429=head2 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
587430
588431(Java, Python, REXX, Scheme, Tcl といった他の言語と比べて Perl はどうなんでしょうか?)
589432
590433=begin original
591434
592Perl can be used for almost any coding problem, even ones which require
435Favorably in some areas, unfavorably in others. Precisely which areas
593integrating 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
594be used well or badly. Perl has many strengths, and a few weaknesses,
437on Usenet runs a strong risk of starting an unproductive Holy War.
595precisely which areas are good and bad is often a personal choice.
596438
597439=end original
598440
599Perl ほとんどらゆコーディング上の問題に使えます; より高速にするための
441いくつかの領域で優っていて、不利な部分もあるというところでしょう。
600特別な C コードと統合必要なもも含す。
442正確には、ど領域で有利でどの領域不利かということは、個々人の問題です。
601ゆるツールと同様よく使うとも悪く使うこともきます。
443ですから、この質問を Usenet 尋ねるのは非生産的な
602Perl は多くの強みくつかの弱みがあります; 正確にはどの分野がよく、
444聖戦を始めるという大きなリスクを伴います
603どの分野が悪いかはしばしば個人の選択です。
604445
605446=begin original
606447
607When 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
608L<resources|http://www.cpan.org/>, L<testing culture|http://www.cpantesters.org/>
449set of tasks. These languages have their own newsgroups in which you
609and L<community|http://www.perl.org/community.html> which surrounds it.
450can learn about (but hopefully not argue about) them.
610451
611452=end original
612453
613言語を選とき、その周りの L<リソス|http://www.cpan.org/>、
454ん最も良い方法は等価な仕事をするひとろいドを書いてみることです。
614L<テスト文化|http://www.cpantesters.org/>
455これらの言語ともそれらについて(願わくば言い争うためでなく)
615L<コミュニティ|http://www.perl.org/community.html> 影響も受けるべきです。
456習うためニュースグループを持っています。
616457
617458=begin original
618459
619For comparisons to a specific language it is often best to create
460Some comparison documents can be found at http://language.perl.com/versus/
620a small project in both languages and compare the results, make sure
461if you really can't stop yourself.
621to use all the L<resources|http://www.cpan.org/> of each language,
622as a language is far more than just it's syntax.
623462
624463=end original
625464
626特定の言語との比較のためには、言語は単る文法以上のものなので、
465どうしても、いうのなら http://language.perl.com/versus/ に
627両方の言語で小さいプロジェクトを作って結果を比較し、それぞれの言語で
466比較を行ったドキュメントが幾つかあります。
628全ての L<リソース|http://www.cpan.org/> が使えることを確認するのがしばしば
629最良の方法です。
630467
631468=head2 Can I do [task] in Perl?
632469
633(Perl で○○を行えますか?)
470(Perlで○○を行えますか?)
634471
635472=begin original
636473
637474Perl is flexible and extensible enough for you to use on virtually any
638475task, from one-line file-processing tasks to large, elaborate systems.
639
640=end original
641
642Perl は、オンラインのファイル処理タスクから複雑なシステムまでほとんど
643全てのタスクで使うのに十分な柔軟性があり、高い拡張性を持っています。
644
645=begin original
646
647476For many people, Perl serves as a great replacement for shell scripting.
648477For others, it serves as a convenient, high-level replacement for most of
649what 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
650479up to you (and possibly your management) which tasks you'll use Perl
651480for and which you won't.
652481
653482=end original
654483
484Perlは、オンラインのファイル処理タスクから複雑なシステムまでほとんど
485全てのタスクで使うのに十分な柔軟性があり、高い拡張性を持っています。
655486多くの人々にとっては、Perl はシェルスクリプティングに対する
656偉大な代用品として仕えます。
487偉大な代用品として仕えます。他の人々にとっては、C やC++ のような
657他の人々にとっては、C やC++ のような低水準言語でプログラムしてきた
488低水準言語でプログラムしてきた大半のものに対する、便利で高水準な
658大半のものに対する、便利で高水準な代用品として仕えます。
489代用品として仕えます。最終的には Perl をどのタスクに使ってどれに
659最終的には Perl をどのタスクに使ってどれに
660490使わないかはあなた(そしてたぶんあなたの管理)によります。
661491
662492=begin original
663493
664494If you have a library that provides an API, you can make any component
665495of it available as just another Perl function or variable using a Perl
666496extension written in C or C++ and dynamically linked into your main
667perl interpreter. You can also go the other direction, and write your
497perl interpreter. You can also go the other direction, and write your
668498main program in C or C++, and then link in some Perl code on the fly,
669to create a powerful application. See L<perlembed>.
499to create a powerful application. See L<perlembed>.
670500
671501=end original
672502
673503API を提供するライブラリがあれば、そこにあるコンポーネントをみんな、
674ちょうどもうひとつの Perl 関数として、あるいは C や C++ で書かれ、
504ちょうどもうひとつの Perl 関数として、あるいはC やC++ で書かれ、
675505主要な perl インタープリタにダイナミックリンクされた Perl エクステンションを
676使った変数として、利用することができます。
506使った変数として、利用することができます。また、他の方向に行って、
677また、他の方向に行って、強力なアプリケーションを制作するために、
507強力なアプリケーションを制作するために、主要なプログラムを
678主要なプログラムを C や C++ で書いて、それをそのまま
508C や C++ で書いて、それをそのままちょっとした Perl コードにリンクさせることも
679ちょっとした Perl コードにリンクせることも可能です
509可能です。L<perlembed> を参照してくだ
680L<perlembed> を参照してください。
681510
682511=begin original
683512
684513That said, there will always be small, focused, special-purpose
685514languages dedicated to a specific problem domain that are simply more
686convenient for certain kinds of problems. Perl tries to be all things
515convenient for certain kinds of problems. Perl tries to be all things
687to all people, but nothing special to anyone. Examples of specialized
516to all people, but nothing special to anyone. Examples of specialized
688517languages that come to mind include prolog and matlab.
689518
690519=end original
691520
692521ある種の問題に対しては単により便利で、特定の問題領域専用の、小型で、
693522集約された、特別な目的を持った言語は常にあるものだと言われています。
694523Perl はあらゆる人に対してあらゆるものであろうとしていますが、
695誰かに対する何か特別なものではありません。
524誰かに対する何か特別なものではありません。特化した言語の例としては
696特化した言語の例としては prolog と matlab が思い浮かんできます。
525prolog と matlab が思い浮かんできます。
697526
698527=head2 When shouldn't I program in Perl?
699528
700529(Perl でプログラムするべきではないのはどういう場合ですか?)
701530
702531=begin original
703532
704One 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
705543application written in another language that's all done (and done
706544well), or you have an application language specifically designed for a
707545certain task (e.g. prolog, make).
708546
709547=end original
710548
711他の言語で記述されていてすでに使われているような(さらに
549実際には、他の言語で記述されていてすでに使われているような(さらに
712550それがうまく動いている)アプリケーションがあるとか、
713551ある特定のタスクのために特別にデザインされたアプリケーション言語(prolog や
714552make など)があるというのが理由になるでしょう。
715553
716554=begin original
717555
718If 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
719application (not something you often need) you may want to use C,
557embedded systems, low-level operating systems development work like
720but 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.
721561
722562=end original
723563
724(頻繁に必要にるものではあませんが) Perl アプケーョンの特定の部分を
564様々理由によPerl アルタイム組込みステムとかデバイスドライバや
725高速化する必要がある場合、C を使いたいかもしれませんが、Perl のコードから
565ンテキスト切り替えなどの低レベルなオペレティングシステムの開発作業、
726L<perlxs> を使ってこれにクセスできます。
566複雑なマルチスレッド、共有メモリを使っプリケーション、
567非常に大きなアプリケーションなどには向いていません。
568あなたは perl が Perl それ自身で記述されてないということに気がつくかも知れません。
727569
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
728591=head2 What's the difference between "perl" and "Perl"?
729592
730593(“perl”と“Perl”の違いはなんですか?)
731594
732595=begin original
733596
734"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
735The name of the interpreter (the program which runs the Perl script)
598signify the language proper and "perl" the implementation of it,
736is "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.
737605
738606=end original
739607
740"Perl" は言語名前です。
608一ビット。ああ、ASCIIことを話してるんじゃないの? :-)
741"P" だけ大文字にしま
609Larry は現在“Perl”その言語の特性を表わために使い、
742インタプリタ(Perl スクリプトを実行るプログラム)の名前は "perl" です;
610“perl”を言語の実装、たとえばインタプリターとして使っていま
743小文字"p" です。
611Tom 「お言葉」では“違いはないが perl は Perl を解析きる”となります。
612たとえば、“awkとperl”とか“PythonとPerl”といった比較は良いように
613見えますが、“awkとPerl”とか“Pythonとperl”はそうではありません。
614ただし、“PERL”と書いてはいけません。なぜなら、perlは何かの
615頭字語ではないからです。
616実際のところは後づけのものがあるのですが。
744617
618=head2 Is it a Perl program or a Perl script?
619
620(Perl プログラム、それとも Perl スクリプト?)
621
745622=begin original
746623
747You 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
748because perl is not an acronym.
625what you give the actors. A program is what you give the audience."
749626
750627=end original
751628
752この使用法従っもかまいません従わなくてもかまいません
629Larry は気いません。冗談交じりに彼がいうには、
753ただし、"PERL" と書いていけません; ぜなら、perl は何か
630“スクリプト(台本)たを俳優にするも。プログラムはあなたを
754頭字語ではなからです。
631観衆にするもの”とうことです。
755632
756=head2 What is a JAPH?
633=begin original
757634
758(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.
759641
642=end original
643
644元々は、スクリプトとはチャットスクリプトのように、
645通常の対話コマンドの羅列でした。
646uucp とか ppp のチャットスクリプト、あるいは F<.cshrc> や F<.ircrc> のような
647プログラムのスタートアップスクリプトがそうです。
648チャットスクリプトは既にあるプログラムを
649取り扱うためのドライバであり、独立したプログラムではありません。
650
760651=begin original
761652
762(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.
763659
764660=end original
765661
766(brian d foy によっ寄贈された)
662コンピュータ科学者は全のプログラムが解釈されることを正
663説明しようとするでしょう。
664しかしもしあなたがコンピュータ科学者ではない人にこの質問をしたならば、
665彼らはI<プログラム>は物理的なマシンコードに一度コンパイルされて
666何度もそれを実行することができるのに対して、I<スクリプト>は
667使われる度毎に変換されるという回答をするかもしれません。
767668
768669=begin original
769670
770JAPH stands for "Just another Perl hacker,", which Randal Schwartz used
671Perl programs are (usually) neither strictly compiled nor strictly
771to sign email and usenet messages starting in the late 1980s. He
672interpreted. They can be compiled to a byte-code form (something of a
772previously used the phrase with many subjects ("Just another x hacker,"),
673Perl virtual machine) or to completely different languages, like C or
773so 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.
774678
775679=end original
776680
777JAPH は "Just another Perl hacker," を意味Randal Schwartz 1980 年代
681Perl プログラムは、通常は厳密な意味においてコンパイルされるということはなく
778後半か電子メールと USENET のメッセージへのサインとして使始めした
682に厳密な意味におて解釈(interpret)されることもありせん
779は以前多くの話題にこのフレズを使っていた("Just another x hacker,")
683Perl プログラムバイトコド形式(Perl の仮想機械に対するもの)
780ので、JAPH を区別するためにこれらを Perl プログのように
684翻訳することができますしあるいC だとかアセンブラのような完全別な言語へ
781始めした:
685翻訳することもできます。
686あなたはソースコードが純粋なインタープリターのためにデザインされたのか、
687parse-tree インタープリターのためにデザインされたのか、バイトコード
688インタープリターのためにデザインされたのか、
689あるいはネイティブコードコンパイラーのためにデザインされたのかという区別を
690その外見から判断することはできません。
691ですから、ここでこの質問に完璧に答えるのは難しいのです。
782692
783 print "Just another Perl hacker,";
784
785693=begin original
786694
787Other people picked up on this and started to write clever or obfuscated
695Now that "script" and "scripting" are terms that have been seized by
788programs to produce the same output, spinning things quickly out of
696unscrupulous or unknowing marketeers for their own nefarious purposes,
789control while still providing hours of amusement for their creators and
697they have begun to take on strange and often pejorative meanings,
790readers.
698like "non serious" or "not real programming". Consequently, some Perl
699programmers prefer to avoid them altogether.
791700
792701=end original
793702
794他の人々がこれを取り上げて、同じ出力を生成する気の利た、また
703今では"script"や"scripting"とうの
795わかりにくいプログラムを書き始め、事態急速に制御不能とりましたが、
704悪徳な目的のたに無遠慮なあるい無知商人に捕らえられてまっ用語です。
796未だに作者読者にとって楽しみの時間を提供しています。
705これらは "non serious" や "not real programming" 同様、
706不思議でしばしば軽蔑的な意味を持ち始めています。
707そのようなわけで、これらの単語を使わないようにしている Perl プログラマもいます。
797708
709=head2 What is a JAPH?
710
711(JAPHってなんですか?)
712
798713=begin original
799714
800CPAN 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 .
801719
802720=end original
803721
804CPAN は L<http://www.cpan.org/misc/japh> に、くつかの JAPH プロラムが
722何人かの人が自分の投稿“just another perl hacker”とうシネチャーを
805あります。
723つかっていした。なかでもRandal Schwartzのものが有名です。
724初期のものから百個ばかりが
725http://www.cpan.org/misc/japh
726から入手できます。
806727
807=head2 How can I convince others to use Perl?
728=head2 Where can I get a list of Larry Wall witticisms?
808729
809(他の人に、どうすれば Perl を使うように説得きるでしょうか?)
730(Larry Wallの「お言葉」(witticisms)はどこ手に入れられますか?)
810731
811732=begin original
812733
813(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 .
814736
815737=end original
816738
817(brian d foy によって寄贈されまし)
739投稿されたものとか、ソースコードにあった百個以上のLarryの「お言葉」が
740http://www.cpan.org/misc/lwall-quotes.txt.gz
741で見つけられます。
818742
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
819747=begin original
820748
821Appeal to their self interest! If Perl is new (and thus scary) to them,
749If your manager or employees are wary of unsupported software, or
822find something that Perl can do to solve one of their problems. That
750software which doesn't officially ship with your operating system, you
823might mean that Perl either saves them something (time, headaches, money)
751might try to appeal to their self-interest. If programmers can be
824or 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.
825757
826758=end original
827759
828彼ら自身関心に訴えくださ!
760あなたマネージャであるとかあなたが雇っている人々が、
829もし彼らにとっ Perl が新し(従って恐ろし) ものなら、
761サポートされていないソフトウェアやあなたの使ってい
830Perl が彼らの問題のひとつを解決できるようことを何かひとつ
762オペレーティングシステム用に公式に出荷されていいソフトウェアに対して
831見つけくださ
763用心しているというのであれば、彼ら自身の興味に訴えかけることを
832これによって、Perl が何か(時間、悩み、時間)を節約するか
764試せるかもしれません。
833(柔軟性力、テスト可能性)与えることを意味するかもしれません。
765Perl の構成であるとか、能性、単純さ、威力使ったり活用することによって
766プログラマーがより生産的になるのであれば、典型的な管理者(や雇っている人)などを
767説得できるでしょう。
768Perl の使用に関しては、同様に(Perl の使用によって)開発時間が
769他の言語と比べたときに短縮されることが助けになることがあるかもしれません。
834770
835771=begin original
836772
837In 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
838the people using that language. If you or your team can be faster,
774translation or testing, Perl almost certainly will provide a viable,
839better, and stronger through Perl, you'll deliver more value. Remember,
775quick solution. In conjunction with any persuasion effort, you
840people 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
841into resistance, figure out what those people get out of the other
777with extremely reliable and valuable results, at many large computer
842choice 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.
843782
844783=end original
845784
846一般的に、る言語の利点は、その言語を使う人々のスキルに大き関係
785もしあな特に変換とかテストにおいてボトルネックを抱えたプロジェクトを
847ります。
786持っているのでれば、Perl はほぼ確実に明確、かつ迅速な解決策を提供るでしょう
848もし Perl によってあたはあなたチームがより速くより良く、より
787んらか説得の努力と組み合わせて
849強くなれるなら、あなたはより多の価値を届けことができます。
788あなたは Perl は非常に幅広使われていて、世界中至所のコンピューター
850人々はしばしば、そこから何を得られるかよりよく反応するこ
789ソフトウェアやハードウェアの企業おいて非常に高い信頼価値ある結果が
851覚えておてください
790あることを説明することに失敗すべきでなでしょう
852もし抵抗遭った場合は人々が他の選択肢から何引き出しているか、
791に、多く UNIX ベンダーは現在デフォルトで Perl を出しています。
853そしてどうすれば Perl 要求満たすかを見つけ出しください。
792そしてサポートとは、あなたFAQ含め I<総合的な> ドキュメントに回答を
793見つけることができなければ、通常は単に netnews に投稿することです。
854794
855795=begin original
856796
857You don't have to worry about finding or paying for Perl; it's freely
797See http://www.perl.org/advocacy/ for more information.
858available and several popular operating systems come with Perl. Community
859support in places such as Perlmonks ( L<http://www.perlmonks.com> )
860and the various Perl mailing lists ( L<http://lists.perl.org> ) means that
861you can usually get quick answers to your problems.
862798
863799=end original
864800
865Perl を探たり買ったりする心配する必要ありません; Perl はフリーで
801い情報http://www.perl.org/advocacy/ を参照してください。
866利用でき、いくつかの有名なオペレーティングシステムは Perl を同梱しています。
867Perlmonks ( L<http://www.perlmonks.com> ) のようにあちこちにあるコミュニティ
868サポートと、様々な Perl メーリングリスト
869( L<http://lists.perl.org> ) によって、たいていはあなたの問題に対する素早い
870回答を得られます。
871802
872803=begin original
873804
874Finally, 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,
875job. You're a much better advocate if your claims are reasonable and
806then point out that version 4 is utterly unmaintained and unsupported
876grounded in reality. Dogmatically advocating anything tends to make
807by the Perl Development Team. Another big sell for Perl5 is the large
877people discount your message. Be honest about possible disadvantages
808number of modules and extensions which greatly reduce development time
878to 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.
879822
880823=end original
881824
882最後にPerl が全て作業に対して正しいツルとは限らないことを心
825もしあなたが古いバージョンの perl からアップグレ対する不平・
883留めださい。
826不満に直面しているのであれば、(perl の)バージョン 4 はまった
884たの主張が妥当で、現実に基たものであればあなたは遥かによ
827保守されていないことやPerl 開発チームによるサポートも
885提唱者と
828されていいということを指摘ししょう
886なんであれ独善的な主張を行と、人々なたの主張割り引いて扱う
829一つの Perl5 の大きなウリんらかの仕事をする開発時間
887傾向があります
830大きく削減するようなモジュールやエクステンション数多くるということでしょう
888全ての選択はトレードオフがありますので、Perl という選択対して
831同様に、Perl のバージョン 4 5 との間の違はawkとC++との間ある違い
889り得る弱点つい素直にりましょう。
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 より古いものは使うべきではありません。
890845
891846=begin original
892847
893You 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.
894852
895853=end original
896854
897以下のリンク有用かもせん:
855注意すべきことらとて、5.004 に至るでバッファーオーバーフローの
856可能性がありました。
857Perl4 も含めてこれ以前の全てのリリースは安全性に問題があります。
858速やかにバージョンアップすべきです。
898859
899=over 4
860=begin original
900861
901=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.
902870
903=item * L<http://perltraining.com.au/whyperl.html>
871=end original
904872
905=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 にアップグレードすることです。
906883
907884=head1 AUTHOR AND COPYRIGHT
908885
909Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and
886Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen and Nathan
910other authors as noted. All rights reserved.
887Torkington. All rights reserved.
911888
912889This documentation is free; you can redistribute it and/or modify it
913890under the same terms as Perl itself.
914891
915892Irrespective of its distribution, all code examples here are in the public
916domain. You are permitted and encouraged to use this code and any
893domain. You are permitted and encouraged to use this code and any
917894derivatives thereof in your own programs for fun or for profit as you
918see 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
919896be courteous but is not required.
920
921=begin meta
922
923Translate: 吉村 寿人 <JAE00534@niftyserve.or.jp>
924Update: SHIRAKATA Kentaro <argrath@ub32.org> (5.6.1-5.14.1, 5.00150039)
925Status: completed
926
927=end meta