1 |
|
2 |
=encoding euc-jp |
3 |
|
4 |
=head1 NAME |
5 |
|
6 |
=begin original |
7 |
|
8 |
perlfaq1 - General Questions About Perl |
9 |
|
10 |
=end original |
11 |
|
12 |
perlfaq1 - Perl に関する一般的な質問 |
13 |
|
14 |
=head1 DESCRIPTION |
15 |
|
16 |
=begin original |
17 |
|
18 |
This section of the FAQ answers very general, high-level questions |
19 |
about Perl. |
20 |
|
21 |
=end original |
22 |
|
23 |
このセクションでは、Perl に関する非常に一般的で高レベルの質問に答えます。 |
24 |
|
25 |
=head2 What is Perl? |
26 |
|
27 |
(Perlってなんですか?) |
28 |
|
29 |
=begin original |
30 |
|
31 |
Perl is a high-level programming language with an eclectic heritage |
32 |
written by Larry Wall and a cast of thousands. |
33 |
|
34 |
=end original |
35 |
|
36 |
Perl は Larry Wall と数多い協力者によって書かれた、折衷的な遺産を持った |
37 |
高水準プログラミング言語です。 |
38 |
|
39 |
=begin original |
40 |
|
41 |
Perl's process, file, and text manipulation facilities make it |
42 |
particularly well-suited for tasks involving quick prototyping, system |
43 |
utilities, software tools, system management tasks, database access, |
44 |
graphical programming, networking, and web programming. |
45 |
|
46 |
=end original |
47 |
|
48 |
Perl のプロセス、ファイル及びテキスト操作機能は、 |
49 |
クィックプロトタイピング、システムユーティリティ、ソフトウェアツール、 |
50 |
システム管理タスク、データベースアクセス、グラフィカルプログラミング、 |
51 |
ネットワーキング、そして web プログラミングを含んだタスクに |
52 |
特に適したものになっています。 |
53 |
|
54 |
=begin original |
55 |
|
56 |
Perl derives from the ubiquitous C programming language and to a |
57 |
lesser extent from sed, awk, the Unix shell, and many other tools |
58 |
and languages. |
59 |
|
60 |
=end original |
61 |
|
62 |
Perl は遍在するプログラミング言語である C から派生し、そして |
63 |
それ程ではないけれども、 |
64 |
sed、awk、Unix のシェルおよび多くのその他のツールや言語に |
65 |
影響を受けています。 |
66 |
|
67 |
=begin original |
68 |
|
69 |
These strengths make it especially popular with web developers |
70 |
and system administrators. Mathematicians, geneticists, journalists, |
71 |
managers 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 |
|
85 |
The original culture of the pre-populist Internet and the deeply-held |
86 |
beliefs of Perl's author, Larry Wall, gave rise to the free and open |
87 |
distribution policy of Perl. Perl is supported by its users. The |
88 |
core, the standard Perl library, the optional modules, and the |
89 |
documentation you're reading now were all written by volunteers. |
90 |
|
91 |
=end original |
92 |
|
93 |
pre-populist なインターネットの独特の文化と、Perl の作者である Larry |
94 |
Wall の強い信条が、Perl のフリーでオープンな配布政策を生じさせました。 |
95 |
Perl はその利用者によってサポートされています。コア、Perl の標準 |
96 |
ライブラリ、オプションモジュール、そしてあなたが今読んでいる資料は |
97 |
全てボランティアの手で書かれました。 |
98 |
|
99 |
=begin original |
100 |
|
101 |
The core development team (known as the Perl Porters) |
102 |
are a group of highly altruistic individuals committed to |
103 |
producing better software for free than you could hope to purchase for |
104 |
money. You may snoop on pending developments via the |
105 |
L<archives|http://www.nntp.perl.org/group/perl.perl5.porters/> |
106 |
or read the L<faq|http://dev.perl.org/perl5/docs/p5p-faq.html>, |
107 |
or you can subscribe to the mailing list by sending |
108 |
perl5-porters-subscribe@perl.org a subscription request |
109 |
(an empty message with no subject is fine). |
110 |
|
111 |
=end original |
112 |
|
113 |
(Perl Porters として知られる)コア開発チームは、お金を出してでも |
114 |
購入したいと思うレベルのものよりも、さらに良いソフトウェアを無料で |
115 |
作り出すのだと誓っている、非常に利他的な人達の集団です。 |
116 |
L<アーカイブ|http://www.nntp.perl.org/group/perl.perl5.porters/> |
117 |
から延び延びとなっている開発についてかぎまわったり、 |
118 |
L<FAQ|http://dev.perl.org/perl5/docs/p5p-faq.html> を読んだり、 |
119 |
あるいは、perl5-porters-subscribe@perl.org へ登録願いを出すことに |
120 |
よってメイリングリストに参加することもできます |
121 |
(タイトルなしの空メールでかまいません)。 |
122 |
|
123 |
=begin original |
124 |
|
125 |
While the GNU project includes Perl in its distributions, there's no |
126 |
such thing as "GNU Perl". Perl is not produced nor maintained by the |
127 |
Free Software Foundation. Perl's licensing terms are also more open |
128 |
than GNU software's tend to be. |
129 |
|
130 |
=end original |
131 |
|
132 |
GNU プロジェクトはその配布セットに Perl を含んでいますが、"GNU Perl" |
133 |
のようなものはありません。 |
134 |
Perl は Free Software Foundation による作成も保守もされてはいません。 |
135 |
Perl のライセンス条件は GNU ソフトウェアが |
136 |
通常取っているよりもさらにオープンなものとなっています。 |
137 |
|
138 |
=begin original |
139 |
|
140 |
You can get commercial support of Perl if you wish, although for most |
141 |
users the informal support will more than suffice. See the answer to |
142 |
"Where can I buy a commercial version of Perl?" for more information. |
143 |
|
144 |
=end original |
145 |
|
146 |
あなたが望むなら、Perl の商用サポートを受けることが出来ます; |
147 |
けれども、大半の利用者にとっては、非公式のサポートは期待水準以上のものでしょう。 |
148 |
詳しくは "Where can I buy a commercial version of Perl?" |
149 |
(どこで商用版 Perl を買うことが出来ますか?) の回答を参照してください。 |
150 |
|
151 |
=head2 Which version of Perl should I use? |
152 |
|
153 |
(どのバージョンの Perl を使うべきなのでしょうか?) |
154 |
|
155 |
=begin original |
156 |
|
157 |
(contributed by brian d foy) |
158 |
|
159 |
=end original |
160 |
|
161 |
(brian d foy によって寄贈されました) |
162 |
|
163 |
=begin original |
164 |
|
165 |
There is often a matter of opinion and taste, and there isn't any one |
166 |
answer that fits everyone. In general, you want to use either the current |
167 |
stable release, or the stable release immediately prior to that one. |
168 |
Currently, those are perl5.14.x and perl5.12.x, respectively. |
169 |
|
170 |
=end original |
171 |
|
172 |
これはしばしば見解と嗜好の問題であり、誰にでも適応する一つの答えというものは |
173 |
ありません。 |
174 |
一般的に、現在の安定版か、その一つ前の安定版を使いたいでしょう。 |
175 |
現在のところ、それぞれ perl5.14.x と perl5.12.x となります。 |
176 |
|
177 |
=begin original |
178 |
|
179 |
Beyond that, you have to consider several things and decide which is best |
180 |
for you. |
181 |
|
182 |
=end original |
183 |
|
184 |
それはそれとして、いくつかの事柄を考慮して、どれがあなたにとって |
185 |
最良であるかを決定する必要があります。 |
186 |
|
187 |
=over 4 |
188 |
|
189 |
=item * |
190 |
|
191 |
=begin original |
192 |
|
193 |
If things aren't broken, upgrading perl may break them (or at least issue |
194 |
new warnings). |
195 |
|
196 |
=end original |
197 |
|
198 |
物事がおかしくなっていないなら、perl をアップグレードすることでおかしくなる |
199 |
(または少なくとも新しい警告が出る)可能性があります。 |
200 |
|
201 |
=item * |
202 |
|
203 |
=begin original |
204 |
|
205 |
The latest versions of perl have more bug fixes. |
206 |
|
207 |
=end original |
208 |
|
209 |
最新バージョンの perl はより多くのバグが修正されています。 |
210 |
|
211 |
=item * |
212 |
|
213 |
=begin original |
214 |
|
215 |
The Perl community is geared toward supporting the most recent releases, |
216 |
so you'll have an easier time finding help for those. |
217 |
|
218 |
=end original |
219 |
|
220 |
Perl のコミュニティは最新リリースのサポートに集中するので、 |
221 |
それらに対する助けは早く得られます。 |
222 |
|
223 |
=item * |
224 |
|
225 |
=begin original |
226 |
|
227 |
Versions prior to perl5.004 had serious security problems with buffer |
228 |
overflows, and in some cases have CERT advisories (for instance, |
229 |
L<http://www.cert.org/advisories/CA-1997-17.html> ). |
230 |
|
231 |
=end original |
232 |
|
233 |
perl5.004 以前のバージョンにはバッファオーバーフローによる重大な |
234 |
セキュリティ問題があり、その一部には CERT アドバイザリ (例えば、 |
235 |
L<http://www.cert.org/advisories/CA-1997-17.html>) があります。 |
236 |
|
237 |
=item * |
238 |
|
239 |
=begin original |
240 |
|
241 |
The latest versions are probably the least deployed and widely tested, so |
242 |
you may want to wait a few months after their release and see what |
243 |
problems others have if you are risk averse. |
244 |
|
245 |
=end original |
246 |
|
247 |
最新版はあまり使われていなくて十分にテストされていないので、 |
248 |
もしリスクを嫌うならリリース後数ヶ月待って他の人がどんな問題を |
249 |
抱えたかを確認したいかもしれません。 |
250 |
|
251 |
=item * |
252 |
|
253 |
=begin original |
254 |
|
255 |
The immediate, previous releases (i.e. perl5.8.x ) are usually maintained |
256 |
for a while, although not at the same level as the current releases. |
257 |
|
258 |
=end original |
259 |
|
260 |
直前のリリース (つまり perl5.8.x ) は普通しばらくの間 |
261 |
メンテナンスされますが、カレントリリースと同じレベルではありません。 |
262 |
|
263 |
=item * |
264 |
|
265 |
=begin original |
266 |
|
267 |
No one is actively supporting Perl 4. Ten years ago it was a dead |
268 |
camel carcass (according to this document). Now it's barely a skeleton |
269 |
as its whitewashed bones have fractured or eroded. |
270 |
|
271 |
=end original |
272 |
|
273 |
だれも積極的に Perl 4 をサポートしていません。 |
274 |
10 年前、(この文書によれば)ラクダの死体となりました。 |
275 |
今となっては白骨化しています。 |
276 |
|
277 |
=item * |
278 |
|
279 |
=begin original |
280 |
|
281 |
The current leading implementation of Perl 6, Rakudo, released a "useful, |
282 |
usable, 'early adopter'" distribution of Perl 6 (called Rakudo Star) in July of |
283 |
2010. Please see L<http://rakudo.org/> for more information. |
284 |
|
285 |
=end original |
286 |
|
287 |
現在の指導的な Perl 6 実装である Rakudo は、「有用で使用可能で |
288 |
『アーリーアダプタ』向け」の Perl 6 配布 (Rakudo Star と呼ばれます) を |
289 |
2010 年 6 月にリリースしました。 |
290 |
さらなる情報についてはどうか L<http://rakudo.org/> を参照してください。 |
291 |
|
292 |
=item * |
293 |
|
294 |
=begin original |
295 |
|
296 |
There are really two tracks of perl development: a maintenance version |
297 |
and an experimental version. The maintenance versions are stable, and |
298 |
have an even number as the minor release (i.e. perl5.10.x, where 10 is the |
299 |
minor release). The experimental versions may include features that |
300 |
don't make it into the stable versions, and have an odd number as the |
301 |
minor release (i.e. perl5.9.x, where 9 is the minor release). |
302 |
|
303 |
=end original |
304 |
|
305 |
実際の perl の開発は 2 つの路線があります: メンテナンス版と実験版です。 |
306 |
メンテナンス版は安定していて、マイナーリリース番号に偶数を使います |
307 |
(例えば、perl5.10.0; 10 がマイナーリリース番号です)。 |
308 |
実験版は安定版に含まれていない機能が含まれていて、マイナーリリース番号に |
309 |
奇数を使います(例えば、perl5.9.x; 9 がマイナーリリース番号です)。 |
310 |
|
311 |
=back |
312 |
|
313 |
=head2 What are Perl 4, Perl 5, or Perl 6? |
314 |
|
315 |
(Perl 4, Perl 5, Perl 6 って何ですか?) |
316 |
|
317 |
=begin original |
318 |
|
319 |
In short, Perl 4 is the parent to both Perl 5 and Perl 6. Perl 5 is the older |
320 |
sibling, and though they are different languages, someone who knows one will |
321 |
spot many similarities in the other. |
322 |
|
323 |
=end original |
324 |
|
325 |
短く言うと、Perl 4 は Perl 5 と Perl 6 双方の親です。 |
326 |
Perl 5 は兄で、違う言語ではありますが、片方を知っている人はもう片方にも |
327 |
多くの類似性を見つけるでしょう。 |
328 |
|
329 |
=begin original |
330 |
|
331 |
The number after Perl (i.e. the 5 after Perl 5) is the major release |
332 |
of the perl interpreter as well as the version of the language. Each |
333 |
major version has significant differences that earlier versions cannot |
334 |
support. |
335 |
|
336 |
=end original |
337 |
|
338 |
"Perl" の後ろの数字(例えば "Perl 5" の 5)は perl インタプリタの |
339 |
メジャーリリース番号であり、言語のバージョンでもあります。 |
340 |
メジャーバージョン毎に、以前のバージョンでは対応できない |
341 |
大きな違いがあります。 |
342 |
|
343 |
=begin original |
344 |
|
345 |
The current major release of Perl is Perl 5, first released in |
346 |
1994. 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 |
|
358 |
Perl 6 is a reinvention of Perl, it is a language in the same lineage but |
359 |
not compatible. The two are complementary, not mutually exclusive. Perl 6 is |
360 |
not meant to replace Perl 5, and vice versa. See L</"What is Perl 6?"> below |
361 |
to find out more. |
362 |
|
363 |
=end original |
364 |
|
365 |
Perl 6 は Perl の再開発です; これは同じ一族ですが互換性はありません。 |
366 |
この二つは補完的であり、排他的ではありません。 |
367 |
Perl 6 は Perl 5 の置き換えを意味しませんし、逆もまた真なりです。 |
368 |
さらなる情報については L</"What is Perl 6?"> を参照してください。 |
369 |
|
370 |
=begin original |
371 |
|
372 |
See L<perlhist> for a history of Perl revisions. |
373 |
|
374 |
=end original |
375 |
|
376 |
Perl の改訂の歴史に関しては L<perlhist> を参照してください。 |
377 |
|
378 |
=head2 What is Perl 6? |
379 |
|
380 |
(Perl 6 ってなんですか?) |
381 |
|
382 |
=begin original |
383 |
|
384 |
Perl 6 was I<originally> described as the community's rewrite of Perl 5. |
385 |
Development started in 2002; syntax and design work continue to this day. |
386 |
As the language has evolved, it has become clear that it is a separate |
387 |
language, incompatible with Perl 5 but in the same language family. |
388 |
|
389 |
=end original |
390 |
|
391 |
Perl 6 は I<元々は> コミュニティによる Perl 5 の書き直しとされていました。 |
392 |
開発は 2002 年に開始されました; 文法と設計の作業は現在でも続いています。 |
393 |
言語が進化するにつれて、Perl 5 とは同じ言語ファミリではありますが |
394 |
別の互換性のない言語であることがはっきりしてきました。 |
395 |
|
396 |
=begin original |
397 |
|
398 |
Contrary to popular belief, Perl 6 and Perl 5 peacefully coexist with one |
399 |
another. Perl 6 has proven to be a fascinating source of ideas for those |
400 |
using Perl 5 (the L<Moose> object system is a well-known example). There is |
401 |
overlap in the communities, and this overlap fosters the tradition of sharing |
402 |
and borrowing that have been instrumental to Perl's success. The current |
403 |
leading implementation of Perl 6 is Rakudo, and you can learn more about |
404 |
it at L<http://rakudo.org>. |
405 |
|
406 |
=end original |
407 |
|
408 |
一般に信じられていることに反して、Perl 6 と Perl 5 は平和的に共存します。 |
409 |
Perl 6 は Perl 5 を使うときの興味深いアイデアの基と考えられています (L<Moose> |
410 |
オブジェクトシステムはよく知られた例です)。 |
411 |
コミュニティは重なっていて、この重なりは Perl の成功に役だった共有と借用の |
412 |
伝統を育てています。 |
413 |
現在の指導的な Perl 6 実装は Rakudo で、L<http://rakudo.org> でさらに |
414 |
学べます。 |
415 |
|
416 |
=begin original |
417 |
|
418 |
If you want to learn more about Perl 6, or have a desire to help in |
419 |
the crusade to make Perl a better place then read the Perl 6 developers |
420 |
page at L<http://www.perl6.org/> and get involved. |
421 |
|
422 |
=end original |
423 |
|
424 |
Perl 6 についてもっと知りたい、または Perl をよりよき場所へと導く |
425 |
十字軍を助けたいなら、Perl 6 開発者ページ L<http://www.perl6.org/> を |
426 |
読んで、参加してください。 |
427 |
|
428 |
=begin original |
429 |
|
430 |
"We're really serious about reinventing everything that needs reinventing." |
431 |
--Larry Wall |
432 |
|
433 |
=end original |
434 |
|
435 |
"We're really serious about reinventing everything that needs reinventing." |
436 |
--Larry Wall |
437 |
|
438 |
=head2 How stable is Perl? |
439 |
|
440 |
(Perl はどのくらい安定しているのでしょうか?) |
441 |
|
442 |
=begin original |
443 |
|
444 |
Production releases, which incorporate bug fixes and new functionality, |
445 |
are widely tested before release. Since the 5.000 release, we have |
446 |
averaged about one production release per year. |
447 |
|
448 |
=end original |
449 |
|
450 |
バグのフィックスと新機能を組み入れた本番リリースは、リリース前に |
451 |
広くテストされます。 |
452 |
平均すると、5.000 のリリースからはだいたい一年に一回の割で |
453 |
本番リリースをしてきました。 |
454 |
|
455 |
=begin original |
456 |
|
457 |
The Perl development team occasionally make changes to the |
458 |
internal core of the language, but all possible efforts are made toward |
459 |
backward compatibility. |
460 |
|
461 |
=end original |
462 |
|
463 |
Larry と Perl 開発チームは時折言語内部のコアに対する変更を行いますが、 |
464 |
可能な限り旧版との互換性維持に努めています。 |
465 |
|
466 |
=head2 Is Perl difficult to learn? |
467 |
|
468 |
(Perl は学ぶのが難しいのでしょうか?) |
469 |
|
470 |
=begin original |
471 |
|
472 |
No, Perl is easy to start L<learning|http://learn.perl.org/> --and easy to keep learning. It looks |
473 |
like most programming languages you're likely to have experience |
474 |
with, so if you've ever written a C program, an awk script, a shell |
475 |
script, or even a BASIC program, you're already partway there. |
476 |
|
477 |
=end original |
478 |
|
479 |
いいえ; Perl は L<学び始める|http://learn.perl.org/> のが容易で -- しかも |
480 |
学び続けるのが容易なのです。 |
481 |
Perl はあなたが(たぶん)慣れ親しんできたたいていのプログラミング |
482 |
言語のように見えます; ですから、C プログラムを、awk スクリプトを、 |
483 |
シェルスクリプトを、はたまた BASIC のプログラムであろうと書いたことが |
484 |
あるのなら、既に習得の途上にあるわけです。 |
485 |
|
486 |
=begin original |
487 |
|
488 |
Most tasks only require a small subset of the Perl language. One of |
489 |
the guiding mottos for Perl development is "there's more than one way |
490 |
to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's |
491 |
learning curve is therefore shallow (easy to learn) and long (there's |
492 |
a whole lot you can do if you really want). |
493 |
|
494 |
=end original |
495 |
|
496 |
たいていのタスクは Perl 言語の小さなサブセットを要求するだけです。 |
497 |
Perl の開発における指導的モットーのひとつは、「それを行うやり方は |
498 |
一つではない」("there's more than one way to do it)というもので |
499 |
す(TMTOWTDI、時々"tim toady"と発音される)。 |
500 |
それ故、Perl の習得曲線は浅く |
501 |
(学びやすく)長い(もしほんとうに望むのならできることは山ほどある)のです。 |
502 |
|
503 |
=begin original |
504 |
|
505 |
Finally, because Perl is frequently (but not always, and certainly not by |
506 |
definition) an interpreted language, you can write your programs and test |
507 |
them without an intermediate compilation step, allowing you to experiment |
508 |
and test/debug quickly and easily. This ease of experimentation flattens |
509 |
the learning curve even more. |
510 |
|
511 |
=end original |
512 |
|
513 |
最後に、Perl はしばしば(しかし常に、ではありません; 定義によります) |
514 |
言われるようにインタープリター型言語です; つまり、プログラムを書いたら、 |
515 |
中間コンパイルステップに入らずそのままテストでき、実験や、 |
516 |
テスト/デバッグをすばやく、かつ容易に行なえるようにしてくれるわけです。 |
517 |
この実験の容易さが、よりいっそう習得曲線を平らにします |
518 |
|
519 |
=begin original |
520 |
|
521 |
Things that make Perl easier to learn: Unix experience, almost any kind |
522 |
of programming experience, an understanding of regular expressions, and |
523 |
the ability to understand other people's code. If there's something you |
524 |
need to do, then it's probably already been done, and a working example is |
525 |
usually available for free. Don't forget Perl modules, either. |
526 |
They're discussed in Part 3 of this FAQ, along with L<CPAN|http://www.cpan.org/>, which is |
527 |
discussed in Part 2. |
528 |
|
529 |
=end original |
530 |
|
531 |
Perl をより学びやすくするもの: UNIX の経験、ほとんどあらゆる種類の |
532 |
プログラミング経験、正規表現の理解、そして他の人のコードを理解する力。 |
533 |
あなたが何か行う必要がある場合、たぶんそれは行われており、 |
534 |
通常その仕事の事例はフリーで利用することができます。 |
535 |
Perl モジュールも忘れてはなりません。 |
536 |
それらは二章で議論されている L<CPAN|http://www.cpan.org/> と共に、 |
537 |
この FAQ の三章で議論されています。 |
538 |
|
539 |
=head2 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl? |
540 |
|
541 |
(Java, Python, REXX, Scheme, Tcl といった他の言語と比べて Perl はどうなんでしょうか?) |
542 |
|
543 |
=begin original |
544 |
|
545 |
Perl can be used for almost any coding problem, even ones which require |
546 |
integrating specialist C code for extra speed. As with any tool it can |
547 |
be used well or badly. Perl has many strengths, and a few weaknesses, |
548 |
precisely which areas are good and bad is often a personal choice. |
549 |
|
550 |
=end original |
551 |
|
552 |
Perl はほとんどあらゆるコーディング上の問題に使えます; より高速にするための |
553 |
特別な C コードとの統合が必要なものも含みます。 |
554 |
あらゆるツールと同様、よく使うことも悪く使うこともできます。 |
555 |
Perl は多くの強みと、いくつかの弱みがあります; 正確にはどの分野がよく、 |
556 |
どの分野が悪いかはしばしば個人の選択です。 |
557 |
|
558 |
=begin original |
559 |
|
560 |
When choosing a language you should also be influenced by the |
561 |
L<resources|http://www.cpan.org/>, L<testing culture|http://www.cpantesters.org/> |
562 |
and L<community|http://www.perl.org/community.html> which surrounds it. |
563 |
|
564 |
=end original |
565 |
|
566 |
言語を選ぶとき、その周りの L<リソース|http://www.cpan.org/>、 |
567 |
L<テスト文化|http://www.cpantesters.org/>、 |
568 |
L<コミュニティ|http://www.perl.org/community.html> の影響も受けるべきです。 |
569 |
|
570 |
=begin original |
571 |
|
572 |
For comparisons to a specific language it is often best to create |
573 |
a small project in both languages and compare the results, make sure |
574 |
to use all the L<resources|http://www.cpan.org/> of each language, |
575 |
as a language is far more than just it's syntax. |
576 |
|
577 |
=end original |
578 |
|
579 |
特定の言語との比較のためには、言語は単なる文法以上のものなので、 |
580 |
両方の言語で小さいプロジェクトを作って結果を比較し、それぞれの言語で |
581 |
全ての L<リソース|http://www.cpan.org/> が使えることを確認するのがしばしば |
582 |
最良の方法です。 |
583 |
|
584 |
=head2 Can I do [task] in Perl? |
585 |
|
586 |
(Perl で○○を行えますか?) |
587 |
|
588 |
=begin original |
589 |
|
590 |
Perl is flexible and extensible enough for you to use on virtually any |
591 |
task, from one-line file-processing tasks to large, elaborate systems. |
592 |
|
593 |
=end original |
594 |
|
595 |
Perl は、オンラインのファイル処理タスクから複雑なシステムまでほとんど |
596 |
全てのタスクで使うのに十分な柔軟性があり、高い拡張性を持っています。 |
597 |
|
598 |
=begin original |
599 |
|
600 |
For many people, Perl serves as a great replacement for shell scripting. |
601 |
For others, it serves as a convenient, high-level replacement for most of |
602 |
what they'd program in low-level languages like C or C++. It's ultimately |
603 |
up to you (and possibly your management) which tasks you'll use Perl |
604 |
for and which you won't. |
605 |
|
606 |
=end original |
607 |
|
608 |
多くの人々にとっては、Perl はシェルスクリプティングに対する |
609 |
偉大な代用品として仕えます。 |
610 |
他の人々にとっては、C やC++ のような低水準言語でプログラムしてきた |
611 |
大半のものに対する、便利で高水準な代用品として仕えます。 |
612 |
最終的には Perl をどのタスクに使ってどれに |
613 |
使わないかはあなた(そしてたぶんあなたの管理)によります。 |
614 |
|
615 |
=begin original |
616 |
|
617 |
If you have a library that provides an API, you can make any component |
618 |
of it available as just another Perl function or variable using a Perl |
619 |
extension written in C or C++ and dynamically linked into your main |
620 |
perl interpreter. You can also go the other direction, and write your |
621 |
main program in C or C++, and then link in some Perl code on the fly, |
622 |
to create a powerful application. See L<perlembed>. |
623 |
|
624 |
=end original |
625 |
|
626 |
API を提供するライブラリがあれば、そこにあるコンポーネントをみんな、 |
627 |
ちょうどもうひとつの Perl 関数として、あるいは C や C++ で書かれ、 |
628 |
主要な perl インタープリタにダイナミックリンクされた Perl エクステンションを |
629 |
使った変数として、利用することができます。 |
630 |
また、他の方向に行って、強力なアプリケーションを制作するために、 |
631 |
主要なプログラムを C や C++ で書いて、それをそのまま |
632 |
ちょっとした Perl コードにリンクさせることも可能です。 |
633 |
L<perlembed> を参照してください。 |
634 |
|
635 |
=begin original |
636 |
|
637 |
That said, there will always be small, focused, special-purpose |
638 |
languages dedicated to a specific problem domain that are simply more |
639 |
convenient for certain kinds of problems. Perl tries to be all things |
640 |
to all people, but nothing special to anyone. Examples of specialized |
641 |
languages that come to mind include prolog and matlab. |
642 |
|
643 |
=end original |
644 |
|
645 |
ある種の問題に対しては単により便利で、特定の問題領域専用の、小型で、 |
646 |
集約された、特別な目的を持った言語は常にあるものだと言われています。 |
647 |
Perl はあらゆる人に対してあらゆるものであろうとしていますが、 |
648 |
誰かに対する何か特別なものではありません。 |
649 |
特化した言語の例としては prolog と matlab が思い浮かんできます。 |
650 |
|
651 |
=head2 When shouldn't I program in Perl? |
652 |
|
653 |
(Perl でプログラムするべきではないのはどういう場合ですか?) |
654 |
|
655 |
=begin original |
656 |
|
657 |
One good reason is when you already have an existing |
658 |
application written in another language that's all done (and done |
659 |
well), or you have an application language specifically designed for a |
660 |
certain task (e.g. prolog, make). |
661 |
|
662 |
=end original |
663 |
|
664 |
他の言語で記述されていてすでに使われているような(さらに |
665 |
それがうまく動いている)アプリケーションがあるとか、 |
666 |
ある特定のタスクのために特別にデザインされたアプリケーション言語(prolog や |
667 |
make など)があるというのが理由になるでしょう。 |
668 |
|
669 |
=begin original |
670 |
|
671 |
If you find that you need to speed up a specific part of a Perl |
672 |
application (not something you often need) you may want to use C, |
673 |
but you can access this from your Perl code with L<perlxs>. |
674 |
|
675 |
=end original |
676 |
|
677 |
(頻繁に必要になるものではありませんが) Perl アプリケーションの特定の部分を |
678 |
高速化する必要がある場合、C を使いたいかもしれませんが、Perl のコードから |
679 |
L<perlxs> を使ってこれにアクセスできます。 |
680 |
|
681 |
=head2 What's the difference between "perl" and "Perl"? |
682 |
|
683 |
(“perl”と“Perl”の違いはなんですか?) |
684 |
|
685 |
=begin original |
686 |
|
687 |
"Perl" is the name of the language. Only the "P" is capitalized. |
688 |
The name of the interpreter (the program which runs the Perl script) |
689 |
is "perl" with a lowercase "p". |
690 |
|
691 |
=end original |
692 |
|
693 |
"Perl" は言語の名前です。 |
694 |
"P" だけを大文字にします。 |
695 |
インタプリタ(Perl スクリプトを実行するプログラム)の名前は "perl" です; |
696 |
小文字の "p" です。 |
697 |
|
698 |
=begin original |
699 |
|
700 |
You may or may not choose to follow this usage. But never write "PERL", |
701 |
because perl is not an acronym. |
702 |
|
703 |
=end original |
704 |
|
705 |
この使用法に従ってもかまいません従わなくてもかまいません。 |
706 |
ただし、"PERL" と書いてはいけません; なぜなら、perl は何かの |
707 |
頭字語ではないからです。 |
708 |
|
709 |
=head2 What is a JAPH? |
710 |
|
711 |
(JAPH ってなんですか?) |
712 |
|
713 |
=begin original |
714 |
|
715 |
(contributed by brian d foy) |
716 |
|
717 |
=end original |
718 |
|
719 |
(brian d foy によって寄贈されました) |
720 |
|
721 |
=begin original |
722 |
|
723 |
JAPH stands for "Just another Perl hacker,", which Randal Schwartz used |
724 |
to sign email and usenet messages starting in the late 1980s. He |
725 |
previously used the phrase with many subjects ("Just another x hacker,"), |
726 |
so to distinguish his JAPH, he started to write them as Perl programs: |
727 |
|
728 |
=end original |
729 |
|
730 |
JAPH は "Just another Perl hacker," を意味し、Randal Schwartz 1980 年代 |
731 |
後半から電子メールと USENET のメッセージへのサインとして使い始めました。 |
732 |
彼はは以前多くの話題にこのフレーズを使っていた("Just another x hacker,") |
733 |
ので、JAPH を区別するために、彼はこれらを Perl プログラムのように |
734 |
書き始めました: |
735 |
|
736 |
print "Just another Perl hacker,"; |
737 |
|
738 |
=begin original |
739 |
|
740 |
Other people picked up on this and started to write clever or obfuscated |
741 |
programs to produce the same output, spinning things quickly out of |
742 |
control while still providing hours of amusement for their creators and |
743 |
readers. |
744 |
|
745 |
=end original |
746 |
|
747 |
他の人々がこれを取り上げて、同じ出力を生成する気の利いた、または |
748 |
わかりにくいプログラムを書き始め、事態は急速に制御不能となりましたが、 |
749 |
未だに作者と読者にとって楽しみの時間を提供しています。 |
750 |
|
751 |
=begin original |
752 |
|
753 |
CPAN has several JAPH programs at L<http://www.cpan.org/misc/japh>. |
754 |
|
755 |
=end original |
756 |
|
757 |
CPAN には L<http://www.cpan.org/misc/japh> に、いくつかの JAPH プログラムが |
758 |
あります。 |
759 |
|
760 |
=head2 How can I convince others to use Perl? |
761 |
|
762 |
(他の人に、どうすれば Perl を使うように説得できるでしょうか?) |
763 |
|
764 |
=begin original |
765 |
|
766 |
(contributed by brian d foy) |
767 |
|
768 |
=end original |
769 |
|
770 |
(brian d foy によって寄贈されました) |
771 |
|
772 |
=begin original |
773 |
|
774 |
Appeal to their self interest! If Perl is new (and thus scary) to them, |
775 |
find something that Perl can do to solve one of their problems. That |
776 |
might mean that Perl either saves them something (time, headaches, money) |
777 |
or gives them something (flexibility, power, testability). |
778 |
|
779 |
=end original |
780 |
|
781 |
彼ら自身の関心に訴えてください! |
782 |
もし彼らにとって Perl が新しい(従って恐ろしい) ものなら、 |
783 |
Perl が彼らの問題のひとつを解決できるようなことを何かひとつ |
784 |
見つけてください。 |
785 |
これによって、Perl が何か(時間、悩み、時間)を節約するか、 |
786 |
何か(柔軟性、力、テスト可能性)を与えることを意味するかもしれません。 |
787 |
|
788 |
=begin original |
789 |
|
790 |
In general, the benefit of a language is closely related to the skill of |
791 |
the people using that language. If you or your team can be faster, |
792 |
better, and stronger through Perl, you'll deliver more value. Remember, |
793 |
people often respond better to what they get out of it. If you run |
794 |
into resistance, figure out what those people get out of the other |
795 |
choice and how Perl might satisfy that requirement. |
796 |
|
797 |
=end original |
798 |
|
799 |
一般的に、ある言語の利点は、その言語を使う人々のスキルに大きな関係が |
800 |
あります。 |
801 |
もし Perl によってあなたはあなたのチームがより速く、より良く、より |
802 |
強くなれるなら、あなたはより多くの価値を届けることができます。 |
803 |
人々はしばしば、そこから何を得られるかによりよく反応することを |
804 |
覚えておいてください。 |
805 |
もし抵抗に遭った場合は、その人々が他の選択肢から何を引き出しているか、 |
806 |
そしてどうすれば Perl がその要求を満たすかを見つけ出してください。 |
807 |
|
808 |
=begin original |
809 |
|
810 |
You don't have to worry about finding or paying for Perl; it's freely |
811 |
available and several popular operating systems come with Perl. Community |
812 |
support in places such as Perlmonks ( L<http://www.perlmonks.com> ) |
813 |
and the various Perl mailing lists ( L<http://lists.perl.org> ) means that |
814 |
you can usually get quick answers to your problems. |
815 |
|
816 |
=end original |
817 |
|
818 |
Perl を探したり買ったりする心配する必要はありません; Perl はフリーで |
819 |
利用でき、いくつかの有名なオペレーティングシステムは Perl を同梱しています。 |
820 |
Perlmonks ( L<http://www.perlmonks.com> ) のようにあちこちにあるコミュニティ |
821 |
サポートと、様々な Perl メーリングリスト |
822 |
( L<http://lists.perl.org> ) によって、たいていはあなたの問題に対する素早い |
823 |
回答を得られます。 |
824 |
|
825 |
=begin original |
826 |
|
827 |
Finally, keep in mind that Perl might not be the right tool for every |
828 |
job. You're a much better advocate if your claims are reasonable and |
829 |
grounded in reality. Dogmatically advocating anything tends to make |
830 |
people discount your message. Be honest about possible disadvantages |
831 |
to your choice of Perl since any choice has trade-offs. |
832 |
|
833 |
=end original |
834 |
|
835 |
最後に、Perl が全ての作業に対して正しいツールとは限らないことを心に |
836 |
留めておいてください。 |
837 |
あなたの主張が妥当で、現実に基いたものであれば、あなたは遥かによい |
838 |
提唱者となります。 |
839 |
なんであれ独善的な主張を行うと、人々はあなたの主張を割り引いて扱う |
840 |
傾向があります。 |
841 |
全ての選択にはトレードオフがありますので、Perl という選択に対して |
842 |
あり得る弱点について素直になりましょう。 |
843 |
|
844 |
=begin original |
845 |
|
846 |
You might find these links useful: |
847 |
|
848 |
=end original |
849 |
|
850 |
以下のリンクが有用かもしれません: |
851 |
|
852 |
=over 4 |
853 |
|
854 |
=item * L<http://www.perl.org/about.html> |
855 |
|
856 |
=item * L<http://perltraining.com.au/whyperl.html> |
857 |
|
858 |
=back |
859 |
|
860 |
=head1 AUTHOR AND COPYRIGHT |
861 |
|
862 |
Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and |
863 |
other authors as noted. All rights reserved. |
864 |
|
865 |
This documentation is free; you can redistribute it and/or modify it |
866 |
under the same terms as Perl itself. |
867 |
|
868 |
Irrespective of its distribution, all code examples here are in the public |
869 |
domain. You are permitted and encouraged to use this code and any |
870 |
derivatives thereof in your own programs for fun or for profit as you |
871 |
see fit. A simple comment in the code giving credit to the FAQ would |
872 |
be courteous but is not required. |
873 |
|
874 |
=begin meta |
875 |
|
876 |
Translate: 吉村 寿人 <JAE00534@niftyserve.or.jp> |
877 |
Update: SHIRAKATA Kentaro <argrath@ub32.org> (5.6.1-5.14.1, 5.00150039) |
878 |
Status: completed |
879 |
|
880 |
=end meta |
881 |
|