perlnewmod > 5.18.1 との差分

perlnewmod 5.18.1 と 5.20.1 の差分

11
22=encoding euc-jp
33
44=head1 NAME
55
66=begin original
77
88perlnewmod - preparing a new module for distribution
99
1010=end original
1111
1212perlnewmod - 新しいモジュールを配布するには
1313
1414=head1 DESCRIPTION
1515
1616=begin original
1717
1818This document gives you some suggestions about how to go about writing
1919Perl modules, preparing them for distribution, and making them available
2020via CPAN.
2121
2222=end original
2323
2424このドキュメントは、Perl モジュールを書き、配布する準備をして、CPAN を
2525通じて取得可能にするためのアドバイスです。
2626
2727=begin original
2828
2929One of the things that makes Perl really powerful is the fact that Perl
3030hackers tend to want to share the solutions to problems they've faced,
3131so you and I don't have to battle with the same problem again.
3232
3333=end original
3434
3535Perl が実際にこんなに強力な理由の 1 つとして、Perl ハッカーたちが、自分の
3636直面した問題への解決策を共有しようとしていることが挙げられるでしょう;
3737だから、みんなが同じ問題に悩む必要はないわけです。
3838
3939=begin original
4040
4141The main way they do this is by abstracting the solution into a Perl
4242module. If you don't know what one of these is, the rest of this
4343document isn't going to be much use to you. You're also missing out on
4444an awful lot of useful code; consider having a look at L<perlmod>,
4545L<perlmodlib> and L<perlmodinstall> before coming back here.
4646
4747=end original
4848
4949これが実現されているのは、多くの場合あるソリューションを抽象化して、
5050Perl モジュールにしているということです。
5151もしこれがなんのことかわからなければ、このドキュメントの残りはあまり
5252役には立たないでしょうし、今までにたくさんの便利なコードを
5353見逃していることでしょう。
5454L<perlmod>, L<perlmodlib>, L<perlmodinstall> をよく読んで、ここに戻って
5555来てください。
5656
5757=begin original
5858
5959When you've found that there isn't a module available for what you're
6060trying to do, and you've had to write the code yourself, consider
6161packaging up the solution into a module and uploading it to CPAN so that
6262others can benefit.
6363
6464=end original
6565
6666もし、あなたがやるべきことに関するモジュールが存在せず、自分でコードを
6767書かないといけないとなったときには、そのソリューションをモジュールに
6868詰め込んで CPAN にアップロードすることを検討してください;
6969そうすれば、他のみんなの利益になります。
7070
7171=head2 Warning
7272
7373(警告)
7474
7575=begin original
7676
7777We're going to primarily concentrate on Perl-only modules here, rather
7878than XS modules. XS modules serve a rather different purpose, and
7979you should consider different things before distributing them - the
8080popularity of the library you are gluing, the portability to other
8181operating systems, and so on. However, the notes on preparing the Perl
8282side of the module and packaging and distributing it will apply equally
8383well to an XS module as a pure-Perl one.
8484
8585=end original
8686
8787ここでは主にピュア Perl のモジュールについて説明し、XS モジュールについては
8888触れません。
8989XS モジュールは、通常とは若干異なる目的で利用されるため、配布する際には
9090別の問題について考慮する必要があります; つまり、糊付け(glue)の対象となる
9191ライブラリの人気、他の OS へのポータビリティなどです。
9292しかし、モジュールの準備やパッケージング、配布の説明は、XS モジュールにも
9393同様に当てはまるでしょう。
9494
9595=head2 What should I make into a module?
9696
9797(なにをモジュールにしたらいい?)
9898
9999=begin original
100100
101101You should make a module out of any code that you think is going to be
102102useful to others. Anything that's likely to fill a hole in the communal
103103library and which someone else can slot directly into their program. Any
104104part of your code which you can isolate and extract and plug into
105105something else is a likely candidate.
106106
107107=end original
108108
109109他の人に便利になるものなら、どんなコードでもモジュールにするべきです。
110110みんなが使っているライブラリに足りないものを補って、しかも他の人が自分の
111111プログラムに直接組み込めるものならなんでも OK です。
112112あなたのコードのうち、単独でとりだして、他のものに組み込めるものがあれば、
113113それはモジュールの候補になりえるでしょう。
114114
115115=begin original
116116
117117Let's take an example. Suppose you're reading in data from a local
118118format into a hash-of-hashes in Perl, turning that into a tree, walking
119119the tree and then piping each node to an Acme Transmogrifier Server.
120120
121121=end original
122122
123123例をとってみましょう。
124124ローカルのフォーマットからデータを読みだし、Perl のハッシュリファレンスの
125125ハッシュにして、ツリー構造にして、ツリーを操作してそれぞれのノードを
126126Acme Transmogrifier Server にパイプするとします。
127127
128128=begin original
129129
130130Now, quite a few people have the Acme Transmogrifier, and you've had to
131131write something to talk the protocol from scratch - you'd almost
132132certainly want to make that into a module. The level at which you pitch
133133it is up to you: you might want protocol-level modules analogous to
134134L<Net::SMTP|Net::SMTP> which then talk to higher level modules analogous
135135to L<Mail::Send|Mail::Send>. The choice is yours, but you do want to get
136136a module out for that server protocol.
137137
138138=end original
139139
140140さて、Acme Transmogrifier をもっている人はあんまりいないとしましょう;
141141ですから、そのプロトコルを話すコードをスクラッチから書く必要があるでしょう -
142142そんな時、それをモジュールにしたいはずです。
143143どのレベルで操作するかはあなた次第です: L<Net::SMTP> のような
144144プロトコルレベルのモジュールから、L<Mail::Send> のような高レベルで
145145操作するモジュールまで。
146146決定するのはあなたですが、サーバプロトコルに特化したモジュールを
147147作りたいでしょう。
148148
149149=begin original
150150
151151Nobody else on the planet is going to talk your local data format, so we
152152can ignore that. But what about the thing in the middle? Building tree
153153structures from Perl variables and then traversing them is a nice,
154154general problem, and if nobody's already written a module that does
155155that, you might want to modularise that code too.
156156
157157=end original
158158
159159あなたのローカルデータフォーマットに興味がある人はいないので、それは
160160無視しましょう。
161161ただ、その中間データはどうしましょう?
162162Perl 変数からツリー構造を作って、それをトラバースするのはよくあることで、
163163もしそういったモジュールを誰も書いてないのであれば、そのコードも
164164またモジュール化したくなるでしょう。
165165
166166=begin original
167167
168168So hopefully you've now got a few ideas about what's good to modularise.
169169Let's now see how it's done.
170170
171171=end original
172172
173173さあ、どんなものをモジュール化すればいいのか、だんだんわかってきたでしょう。
174174これからそれをどうやってやるのか見てみましょう。
175175
176176=head2 Step-by-step: Preparing the ground
177177
178178(Step-by-step: 地ならし)
179179
180180=begin original
181181
182182Before we even start scraping out the code, there are a few things we'll
183183want to do in advance.
184184
185185=end original
186186
187187コードを書きはじめる前に、やっておきたいことがいくつかあります。
188188
189189=over 3
190190
191191=item Look around
192192
193193(見てまわる)
194194
195195=begin original
196196
197197Dig into a bunch of modules to see how they're written. I'd suggest
198198starting with L<Text::Tabs|Text::Tabs>, since it's in the standard
199199library and is nice and simple, and then looking at something a little
200200more complex like L<File::Copy|File::Copy>. For object oriented
201201code, C<WWW::Mechanize> or the C<Email::*> modules provide some good
202202examples.
203203
204204=end original
205205
206206たくさんのモジュールを見て、どんな風に書かれているかみてみましょう。
207207L<Text::Tabs> は標準ライブラリで、きれいに書かれていてとても
208208シンプルですので、これから始めると良いでしょう; それから
209209L<File::Copy|File::Copy> のようなもう少し複雑なものを見てください。
210210オブジェクト指向のコードを書こうと思っているなら、
211211C<WWW::Mechanize> や C<Mail::*> モジュールがよい例となります。
212212
213213=begin original
214214
215215These should give you an overall feel for how modules are laid out and
216216written.
217217
218218=end original
219219
220220そうすれば、モジュールがどのようにレイアウトされ、書かれているか、大体
221221わかってくるはずです。
222222
223223=item Check it's new
224224
225225(新しいものかどうかチェックする)
226226
227227=begin original
228228
229229There are a lot of modules on CPAN, and it's easy to miss one that's
230230similar to what you're planning on contributing. Have a good plough
231231through the L<http://search.cpan.org> and make sure you're not the one
232232reinventing the wheel!
233233
234234=end original
235235
236236CPAN にはたくさんのモジュールがありますから、あなたが寄与しようとしている
237237モジュールとそっくりなものがあっても、見過ごしてしまうかも知れません。
238238L<http://search.cpan.org> をよく見て、
239239車輪の再発明をしていないかどうか確認しましょう!
240240
241241=item Discuss the need
242242
243243(必要性を議論する)
244244
245245=begin original
246246
247247You might love it. You might feel that everyone else needs it. But there
248248might not actually be any real demand for it out there. If you're unsure
249249about the demand your module will have, consider sending out feelers
250250on the C<comp.lang.perl.modules> newsgroup, or as a last resort, ask the
251251modules list at C<modules@perl.org>. Remember that this is a closed list
252252with a very long turn-around time - be prepared to wait a good while for
253253a response from them.
254254
255255=end original
256256
257257あなたはそれを気に入っているでしょう。
258258他のみんなも、それを必要とすると思っているでしょう。
259259でも、実際にはそんなに需要はないかもしれません。
260260自分のモジュールがどの程度需要があるのか不安だったら、
261261C<comp.lang.perl.modules> に投稿してみましょう; それでもだめなら、
262262C<modules@perl.org> のモジュールメーリングリストに聞いてみましょう。
263263このメーリングリストはクローズドで、待ち時間が長いことに
264264気を付けてください - レスポンスが返ってくるまでには、しばらく待つ必要が
265265あるかもしれません。
266266
267267=item Choose a name
268268
269269(名前を決める)
270270
271271=begin original
272272
273273Perl modules included on CPAN have a naming hierarchy you should try to
274274fit in with. See L<perlmodlib> for more details on how this works, and
275275browse around CPAN and the modules list to get a feel of it. At the very
276276least, remember this: modules should be title capitalised, (This::Thing)
277277fit in with a category, and explain their purpose succinctly.
278278
279279=end original
280280
281281CPAN に含まれる Perl モジュールには、命名階層があり、それに合わせる
282282必要があります。
283283これがどのように整理されているかの詳細は、L<perlmodlib> を参照してください;
284284また、CPAN やモジュールリストを見て回って、どんなものか触れてみてください。
285285少なくとも、これだけは覚えておいてください: モジュール名は大文字で
286286始める (This::That のように)、 カテゴリに適合している、そして、
287287目的を簡潔に説明している。
288288
289289=item Check again
290290
291291(もう一度チェック)
292292
293293=begin original
294294
295295While you're doing that, make really sure you haven't missed a module
296296similar to the one you're about to write.
297297
298298=end original
299299
300300そうしている間に、書こうとしているモジュールに似たモジュールを本当に
301301見過ごしていないか、確認してください。
302302
303303=begin original
304304
305305When you've got your name sorted out and you're sure that your module is
306306wanted and not currently available, it's time to start coding.
307307
308308=end original
309309
310310整理が付いて、そのモジュールは必要とされていて、まだ存在しないと
311311確信したら、コードを書きはじめましょう。
312312
313313=back
314314
315315=head2 Step-by-step: Making the module
316316
317317(Step-by-step: モジュールを作る)
318318
319319=over 3
320320
321321=item Start with F<module-starter> or F<h2xs>
322322
323323(F<module-starter> か F<h2xs> からはじめる)
324324
325325=begin original
326326
327327The F<module-starter> utility is distributed as part of the
328328L<Module::Starter|Module::Starter> CPAN package. It creates a directory
329329with stubs of all the necessary files to start a new module, according
330330to recent "best practice" for module development, and is invoked from
331331the command line, thus:
332332
333333=end original
334334
335335F<module-starter> ユーティリティは L<Module::Starter|Module::Starter> CPAN
336336パッケージの一部として配布されています。
337337最近のモジュール開発の「ベストプラクティス」に基づいた、新しいモジュールを
338338開始するために必要な全てのファイルの雛形を含むディレクトリを作ります;
339339これはコマンドラインから起動されるので:
340340
341341 module-starter --module=Foo::Bar \
342342 --author="Your Name" --email=yourname@cpan.org
343343
344344=begin original
345345
346346If you do not wish to install the L<Module::Starter|Module::Starter>
347347package from CPAN, F<h2xs> is an older tool, originally intended for the
348348development of XS modules, which comes packaged with the Perl
349349distribution.
350350
351351=end original
352352
353353L<Module::Starter|Module::Starter> パッケージを CPAN から
354354インストールしたくない場合は、F<h2xs> はより古いツールで、本来は
355355XS モジュールの開発のためのもので、Perl に同梱されています。
356356
357357=begin original
358358
359359A typical invocation of L<h2xs|h2xs> for a pure Perl module is:
360360
361361=end original
362362
363363ピュア Perl のための L<h2xs|h2xs> の典型的な起動方法は:
364364
365365 h2xs -AX --skip-exporter --use-new-tests -n Foo::Bar
366366
367367=begin original
368368
369369The C<-A> omits the Autoloader code, C<-X> omits XS elements,
370370C<--skip-exporter> omits the Exporter code, C<--use-new-tests> sets up a
371371modern testing environment, and C<-n> specifies the name of the module.
372372
373373=end original
374374
375375C<-A> は Autoloader を省略し、C<-X> は XS を省略し、
376376C<--skip-exporter> は Exporter コードを省略し、C<--use-new-tests> は
377377近代的なテスト環境を設定し、C<-n> はモジュールの名前を指定します。
378378
379379=item Use L<strict|strict> and L<warnings|warnings>
380380
381381(L<strict|strict> と L<warnings|warnings> を使う)
382382
383383=begin original
384384
385385A module's code has to be warning and strict-clean, since you can't
386386guarantee the conditions that it'll be used under. Besides, you wouldn't
387387want to distribute code that wasn't warning or strict-clean anyway,
388388right?
389389
390390=end original
391391
392392モジュールのコードは warning と strict クリーンでなくてはなりません;
393393どんな状況でそのモジュールが利用されるかわかりませんから。
394394それに、warning や strict クリーンでないコードなんて、
395395配布したくないでしょう?
396396
397397=item Use L<Carp|Carp>
398398
399399(L<Carp|Carp> を使う)
400400
401401=begin original
402402
403403The L<Carp|Carp> module allows you to present your error messages from
404404the caller's perspective; this gives you a way to signal a problem with
405405the caller and not your module. For instance, if you say this:
406406
407407=end original
408408
409409L<Carp> モジュールを使うと、エラーメッセージを呼び出し側の視点から
410410出力することが出来ます: そのモジュールではなく、呼び出し側の問題であることを
411411示せるのです。
412412例えば、このようにすると:
413413
414414 warn "No hostname given";
415415
416416=begin original
417417
418418the user will see something like this:
419419
420420=end original
421421
422422ユーザはこのようなメッセージを見ることになります:
423423
424424 No hostname given at /usr/local/lib/perl5/site_perl/5.6.0/Net/Acme.pm
425425 line 123.
426426
427427=begin original
428428
429429which looks like your module is doing something wrong. Instead, you want
430430to put the blame on the user, and say this:
431431
432432=end original
433433
434434これでは、あなたのモジュールが何か間違ったことをしているように見えます。
435435代わりに、ユーザに責任をなすりつけられるのです; このように出力します:
436436
437437 No hostname given at bad_code, line 10.
438438
439439=begin original
440440
441441You do this by using L<Carp|Carp> and replacing your C<warn>s with
442442C<carp>s. If you need to C<die>, say C<croak> instead. However, keep
443443C<warn> and C<die> in place for your sanity checks - where it really is
444444your module at fault.
445445
446446=end original
447447
448448こうするには、L<Carp> をつかって、C<warn> を C<carp> に置き換えます。
449449もし C<die> する必要があるなら、C<croak> を使いましょう。
450450ただ、本当にあなたのモジュールの責任によるチェックの場合は、
451451C<warn> や C<die> のままにしておきましょう。
452452
453453=item Use L<Exporter|Exporter> - wisely!
454454
455455(L<Exporter|Exporter> を使う - 賢く!)
456456
457457=begin original
458458
459459L<Exporter|Exporter> gives you a standard way of exporting symbols and
460460subroutines from your module into the caller's namespace. For instance,
461461saying C<use Net::Acme qw(&frob)> would import the C<frob> subroutine.
462462
463463=end original
464464
465465L<Exporter|Exporter> は、シンボルやサブルーチンをモジュールから
466466呼び出し側の名前空間にエクスポートする標準的な方法がわかるでしょう。
467467たとえば、C<use Net::Acme qw(&frob)> と書けば、C<frob> サブルーチンを
468468インポートします。
469469
470470=begin original
471471
472472The package variable C<@EXPORT> will determine which symbols will get
473473exported when the caller simply says C<use Net::Acme> - you will hardly
474474ever want to put anything in there. C<@EXPORT_OK>, on the other hand,
475475specifies which symbols you're willing to export. If you do want to
476476export a bunch of symbols, use the C<%EXPORT_TAGS> and define a standard
477477export set - look at L<Exporter> for more details.
478478
479479=end original
480480
481481パッケージ変数の C<@EXPORT> によって、呼び出し側が単純に
482482C<use Net::Acme> と書いたときに、どのシンボルがエクスポートされるかが
483483決まります - ほとんどの場合は、ここには何もいれないでしょう。
484484一方、C<@EXPORT_OK> をつかうと、どの変数をエクスポートしてもよいかを
485485指定できます。
486486たくさんのシンボルをエクスポートしたい場合は、C<%EXPORT_TAGS> を
487487使って、エクスポートのセットを定義しましょう - 詳しくは L<Exporter> を
488488参照してください。
489489
490490=item Use L<plain old documentation|perlpod>
491491
492492(L<plain old documentation|perlpod> を使う)
493493
494494=begin original
495495
496496The work isn't over until the paperwork is done, and you're going to
497497need to put in some time writing some documentation for your module.
498498C<module-starter> or C<h2xs> will provide a stub for you to fill in; if
499499you're not sure about the format, look at L<perlpod> for an
500500introduction. Provide a good synopsis of how your module is used in
501501code, a description, and then notes on the syntax and function of the
502502individual subroutines or methods. Use Perl comments for developer notes
503503and POD for end-user notes.
504504
505505=end original
506506
507507仕事はペーパーワークがすむまでは、終わりではありません;
508508モジュールのドキュメントを書くための時間が必要です。
509509C<module-starter> か C<h2xs> を利用すれば、テンプレートを作ってくれますので、
510510それを埋めればよいです; フォーマットがよくわからなければ、まずは
511511L<perlpod> を見てください。
512512モジュールをどのように使うかのおおまかな概要、そして文法の説明や、
513513それぞれのサブルーチンやメソッドの機能説明を提供してください。
514514開発者のノートとして Perl のコメントを利用し、エンドユーザへの
515515ノートには POD を使ってください。
516516
517517=item Write tests
518518
519519(テストを書く)
520520
521521=begin original
522522
523523You're encouraged to create self-tests for your module to ensure it's
524524working as intended on the myriad platforms Perl supports; if you upload
525525your module to CPAN, a host of testers will build your module and send
526526you the results of the tests. Again, C<module-starter> and C<h2xs>
527527provide a test framework which you can extend - you should do something
528528more than just checking your module will compile.
529529L<Test::Simple|Test::Simple> and L<Test::More|Test::More> are good
530530places to start when writing a test suite.
531531
532532=end original
533533
534534ぜひユニットテストコードを作って、あなたのモジュールが、いろんな
535535プラットフォーム上の Perl で、意図した通りにうまく動くことを確認しましょう;
536536CPAN にモジュールをアップロードすると、たくさんのテスターがモジュールを
537537ビルドして、テストの結果をあなたに送ってくれるでしょう。
538538ここでもまた、C<module-starter> と C<h2xs> を使えば、後で拡張可能な、
539539テストフレームワークが提供されます - 単にコンパイルが通るかだけでなく、
540540いろいろとテストしましょう。
541541L<Test::Simple|Test::Simple> と L<Test::More|Test::More> は、テスト
542542スイートを書くときの開始点としてよいものです。
543543
544544=item Write the README
545545
546546(README を書く)
547547
548548=begin original
549549
550550If you're uploading to CPAN, the automated gremlins will extract the
551551README file and place that in your CPAN directory. It'll also appear in
552552the main F<by-module> and F<by-category> directories if you make it onto
553553the modules list. It's a good idea to put here what the module actually
554554does in detail, and the user-visible changes since the last release.
555555
556556=end original
557557
558558CPAN にアップロードするときは、README ファイルが自動で抽出されて、
559559あなたの CPAN ディレクトリに置かれます。
560560また、モジュールリストに載った場合には、F<by-module> や F<by-category> の
561561メインディレクトリにも配置されます。
562562このファイルに、そのモジュールのすることの詳細や、一つ前のリリースからの
563563変更点を書いておくと良いでしょう。
564564
565565=back
566566
567567=head2 Step-by-step: Distributing your module
568568
569569(Step-by-step: モジュールを配布する)
570570
571571=over 3
572572
573573=item Get a CPAN user ID
574574
575575(CPAN ユーザ ID を取得する)
576576
577577=begin original
578578
579579Every developer publishing modules on CPAN needs a CPAN ID. Visit
580580C<http://pause.perl.org/>, select "Request PAUSE Account", and wait for
581581your request to be approved by the PAUSE administrators.
582582
583583=end original
584584
585585CPAN でモジュールを配布するには、CPAN ID が必要です。
586586C<http://pause.perl.org/> に訪れて、"Request PAUSE Account" を選択し、
587587リクエストが PAUSE 管理者に承認されるのを待ちましょう。
588588
589589=item C<perl Makefile.PL; make test; make dist>
590590
591591=begin original
592592
593593Once again, C<module-starter> or C<h2xs> has done all the work for you.
594594They produce the standard C<Makefile.PL> you see when you download and
595595install modules, and this produces a Makefile with a C<dist> target.
596596
597597=end original
598598
599599ここでも、C<module-starter> や C<h2xs> はすべてやってくれます。
600600モジュールをインストールするときによく見る、標準的な C<Makefile.PL> が
601601できています; これが生成する Makefile に C<dist> ターゲットがあります。
602602
603603=begin original
604604
605605Once you've ensured that your module passes its own tests - always a
606606good thing to make sure - you can C<make dist>, and the Makefile will
607607hopefully produce you a nice tarball of your module, ready for upload.
608608
609609=end original
610610
611611モジュールがテストにパスしたことを確認したら(いつでも確認することは
612612よいことです)、C<make dist> を実行すれば、Makefile はアップロード準備の
613613整った tarball ファイルを生成してくれます。
614614
615615=item Upload the tarball
616616
617617(tarball をアップロードする)
618618
619619=begin original
620620
621621The email you got when you received your CPAN ID will tell you how to
622622log in to PAUSE, the Perl Authors Upload SErver. From the menus there,
623623you can upload your module to CPAN.
624624
625625=end original
626626
627627CPAN ID を取得できたときに届く email に、PAUSE (the Perl Authors
628628Upload SErver) へのログイン方法が載っています。
629629メニューから選択して、モジュールをCPANにアップロードできます。
630630
631631=item Announce to the modules list
632632
633633(モジュールリストにアナウンスする)
634634
635635=begin original
636636
637637Once uploaded, it'll sit unnoticed in your author directory. If you want
638638it connected to the rest of the CPAN, you'll need to go to "Register
639639Namespace" on PAUSE. Once registered, your module will appear in the
640640by-module and by-category listings on CPAN.
641641
642642=end original
643643
644644アップロードしたら、あなたのディレクトリにあるだけでは人目を引きません。
645645他のの CPAN モジュールと同じように載せたければ、PAUSE の
646646"Register Namespace" に行く必要があります。
647647登録されると、あなたのモジュールは CPAN のモジュール別およびカテゴリ別の
648648リストに表示されます。
649649
650650=item Announce to clpa
651651
652652(clpa にアナウンスする)
653653
654654=begin original
655655
656656If you have a burning desire to tell the world about your release, post
657657an announcement to the moderated C<comp.lang.perl.announce> newsgroup.
658658
659659=end original
660660
661661リリースしたことを世界中にアナウンスしたいという野望があるなら、
662662モデレートされている、C<comp.lang.perl.announce> ニュースグループに
663663アナウンスを投稿してみましょう。
664664
665665=item Fix bugs!
666666
667667(バグをなおす!)
668668
669669=begin original
670670
671671Once you start accumulating users, they'll send you bug reports. If
672672you're lucky, they'll even send you patches. Welcome to the joys of
673673maintaining a software project...
674674
675675=end original
676676
677677ユーザが集まってくると、バグレポートが送られて来ます。
678678運がよければ、パッチを送ってくれるでしょう。
679679ソフトウェアプロジェクトのメンテナンスという喜びが待っています ...
680680
681681=back
682682
683683=head1 AUTHOR
684684
685685Simon Cozens, C<simon@cpan.org>
686686
687687Updated by Kirrily "Skud" Robert, C<skud@cpan.org>
688688
689689=head1 SEE ALSO
690690
691691=begin original
692692
693693L<perlmod>, L<perlmodlib>, L<perlmodinstall>, L<h2xs>, L<strict>,
694694L<Carp>, L<Exporter>, L<perlpod>, L<Test::Simple>, L<Test::More>
695695L<ExtUtils::MakeMaker>, L<Module::Build>, L<Module::Starter>
696696http://www.cpan.org/ , Ken Williams's tutorial on building your own
697697module at http://mathforum.org/~ken/perl_modules.html
698698
699699=end original
700700
701701L<perlmod>, L<perlmodlib>, L<perlmodinstall>, L<h2xs>, L<strict>,
702702L<Carp>, L<Exporter>, L<perlpod>, L<Test::Simple>, L<Test::More>
703703L<ExtUtils::MakeMaker>, L<Module::Build>, L<Module::Starter>
704704http://www.cpan.org/ , http://mathforum.org/~ken/perl_modules.html にある、
705705Ken Williams による自作のモジュールをビルドするためのチュートリアル。
706706
707707=begin meta
708708
709709Translate: miyagawa
710710Update: SHIRAKATA Kentaro <argrath@ub32.org> (5.10.0-)
711711Status: completed
712712
713713=end meta