perlnewmod - ��違�������≪�吾�ャ�若�˨�����絽���������˨�
�����勉����㏍�ャ�<�潟����壔��Perl ��≪�吾�ャ�若�˨����吾��������絽�������羣������������⓾��CPAN ��� ��������☗��緇��櫝�純�˨�������������勉�≪�������ゃ�鴻�с�����
Perl ���絎������˨�������ŝ��綣桁����ɾ����宴�� 1 ��ゃ�������⓾��Perl ��������˨�若����<�������ɱ���� ��顔�≪�������馹���吾�勤В羆榊�������掩�������������������⓾�������������������������������с����������� ��������������帥����ŝ����������馹������í��綽�荀���壔�ŝ����������с�����
���������絎��憗�������⓾�������勉�壔��紊������勐�翫����������純�ŝ�ャ�若�激�с�潟����処院��������⓾�� Perl ��≪�吾�ャ�若�˨�˨����⓾����������������������с����� �����������������ŝ����勉�������������������ŝ�������違�������勉����㏍�ャ�<�潟����勖�������壔����障�� 綵鴻�˨�夌�������ŝ����с��������������篁���障�с�˨�������������勌梢��í�ŝ�潟�若����� 荀���������⓾�������������с����������� perlmod, perlmodlib, perlmodinstall ��������顄㏍����с�������������祉�c� ��ャ�⓾��������������
��������������ŝ�������������鴻����������̹�≪�������≪�吾�ャ�若�˨��絖���������������ɱ����с�潟�若����� ��吾����ŝ�������������ŝ�������ŝ�c����������˨�壔�������勉�純�ŝ�ャ�若�激�с�潟����≪�吾�ャ�若�˨� 荅違��莨若����� CPAN ��˨�≪�������㏍�若�����������������罎�荐������⓾�������������� ��������������違��篁���勉�帥����ŝ�勐�ñ����˨�ŝ����障�����
(茘☗��)
��������с�壚源��˨����ャ�� Perl ��勉�≪�吾�ャ�若�˨�˨�ゃ����☀ą���������XS ��≪�吾�ャ�若�˨�˨�ゃ����⓾� 茹⓾����障�������� XS ��≪�吾�ャ�若�˨�壔�����絽吾����虁�ュ慌��違�ŝ����勛����у�ñ�����������������������絽������������˨� ��ャ�勐�馹���˨�ゃ����☀����勉�����綽�荀������������障����� ��ゃ�障�����膤�篁����(glue)��勐嚳莟<����ŝ����í�ゃ����í�ŝ�勌査羂����篁���� OS ��吾� �����若�帥����ŝ����c�ŝ�í�с����� ��������������≪�吾�ャ�若�˨�勖����������������宴�若�吾�潟�違�����絽���勤ą�����壔��XS ��≪�吾�ャ�若�˨�˨�� ���罕����綵���⓾�壔�障����с�����������
(��ŝ�˨����≪�吾�ャ�若�˨�˨��������������鐚�)
篁���勌査��˩梢��í�˨�ŝ�������勉�ŝ�������í����ŝ�潟�若����с����≪�吾�ャ�若�˨�˨�������鴻����с����� ��帥����ŝ��篏帥�c�⓾�������í�ゃ����í�ŝ�̬恭�����ŝ�������勉��茖���c�⓾�����������篁���勌査�����ɱ���� �����㏍�違�í����̥�贋・腟���粋昭�����������勉�ŝ����ŝ����с�� OK ��с����� �����ŝ����勉�潟�若����勉����<�������㋘�с�������������⓾��篁���勉����勉�̥����粋昭�����������勉����������違�� ��������壔�≪�吾�ャ�若�˨�勐��茖���˨�ŝ����������с�����������
箴���������c�⓾�帥�障����������� ��㏍�若�˨�˨�勉����í�若�������������������若�帥��茯㏍�帥��������Perl ��勉�������激�ャ�ŝ����<�㋘�潟�鴻� ��������激�ャ�˨����⓾�������ŝ�惹�������˨����⓾�������ŝ�若�����篏������⓾�������������勉����若����� Acme Transmogrifier Server ��˨����ゃ����������������障�����
�����⓾��Acme Transmogrifier ��������c�⓾�����篋冴�壔�������障�������ŝ����������障����������� ��с����������������勉����㏍����潟�˨��荅宴����潟�若�������鴻�壔�í����������� ��吾����ŝ����⓾�壔�ŝ����ŝ����с�������� - ��������ʋ����������������≪�吾�ャ�若�˨�˨����������壔����с����� ��í�勉�㋘����˨�ф��篏������������壔����ŝ��罨∞⓬��с��: Net::SMTP ��勉������� �����㏍����潟�˨�㋘����˨�勉�≪�吾�ャ�若�˨��������Mail::Send ��勉�������ʒ����㋘����˨� ���篏���������≪�吾�ャ�若�˨�障�с�� 羆阪����������勉�壔����ŝ����с����������泣�若�������㏍����潟�˨�̥�劫����������≪�吾�ャ�若�˨�� 篏������������с�����������
�����ŝ����勉�㏍�若�˨�˨����若�帥����í�若����������̬����潟��������篋冴�壔����ŝ����勉�с���������� ��∴�������障����������� ��������������勌賢��������若�帥�壔�í�������障��������? Perl 紊���違����������ŝ�惹��������篏���c�⓾����������������í����若�鴻�������勉�壔�������������������с�� �����������������c����≪�吾�ャ�若�˨��茯違����吾����⓾�ŝ����勉�с�������違�������勉�潟�若����� ��障����≪�吾�ャ�若����������������ŝ����с�����������
�����������í����ŝ����勉����≪�吾�ャ�若�������������違�������勉�������������������������c�⓾�������с����������� �����������������������í�������c�⓾�������勉��荀���⓾�帥�障�����������
(Step-by-step: ��違�ŝ�����)
��潟�若�������吾����壔�������������˨�������c�⓾����������������������������ゃ����������障�����
- Look around
-
(荀���⓾�障�����)
��������������勉�≪�吾�ャ�若�˨��荀���⓾����í����ʒ※�����吾�������⓾����������帥�⓾�帥�障����������� Text::Tabs ��壩��羣���í�ゃ����í�ŝ�с����������������吾�������⓾����⓾����⓾�� ��激�潟����˨�с����勉�с��������������紮���������◑�壔����с��������; ������������ File::Copy ��勉�������ŝ�����絨����茲������ŝ����勉��荀���⓾�������������� ��ŝ����吾�с�壔����������勉�潟�若�������吾�������������c�⓾�������ŝ�����
WWW::Mechanize
���Mail::*
��≪�吾�ャ�若�˨��������箴������ŝ����障�������������������違����≪�吾�ャ�若�˨����í�勉�������˨�㋘�ゃ�≪�⓾�������������吾�������⓾�����������紊т�� ��������c�⓾�������壔����с�����
- Check it's new
-
(��違����������勉����í����������с����壔�����)
CPAN ��˨�壔�������������勉�≪�吾�ャ�若�˨����������障����������������ŝ�����絲�筝������������������⓾����� ��≪�吾�ャ�若�˨�������c�������ŝ����勉�������c�⓾�����荀������������⓾����障����������ャ����障�������� http://search.cpan.org ��������頳���⓾�� 荵�莠ŝ�勐����堺����������⓾����ŝ�������í�����腆肴�������障��������!
- Discuss the need
-
(綽�荀���с��茘域��������)
�����ŝ����壔��������羂������ャ�c�⓾�������с����������� 篁���勉�帥����ŝ��������������綽�荀������������������c�⓾�������с����������� ��с�����絎������˨�壔�������ŝ�̹��荀���壔�ŝ����������������障�������� ��ɱ����勉�≪�吾�ャ�若�˨����í�勛��綺☁��荀������������勉��筝�絎������c��������
comp.lang.perl.modules
������腮帥����⓾�帥�障����������� ��������с����������ŝ�����modules@perl.org
��勉�≪�吾�ャ�若�˨�<�若�ŝ�潟�違�ŝ�鴻���� ��������⓾�帥�障����������� �����勉�<�若�ŝ�潟�違�ŝ�鴻����壔�壔�㏍�若�冴����с��緇���≧����������激���������� 羂����篁������⓾�������������� ��㋘�鴻����潟�鴻��菴���c�⓾�������障�с�˨�壔�������違����鏅���ゅ��荀������������������������障�������� - Choose a name
-
(���������羆冴�����)
CPAN �����˨�障����� Perl ��≪�吾�ャ�若�˨�˨�壔����遵�����絮ゃ�������������������������������� 綽�荀������������障����� �����������í�勉����������雁����������⓾����������勤¼膣違�壔��perlmodlib ��������с����⓾�������������� ��障�����CPAN �����≪�吾�ャ�若�˨�ŝ�鴻�����荀���☗����c�⓾����í����ŝ����勉��茹⓾����⓾�帥�⓾�������������� 絨���ŝ�������������������������虁�������⓾�������⓾�����������: ��≪�吾�ャ�若�������壠ぇ���絖��� 紮������� (This::That ��勉��������)��� ��˨����眼�ŝ�̹�ï�������⓾����������������⓾�� ��勛�����膂≧����̬ą��������⓾��������
- Check again
-
(������筝�綺⓾����с�����)
�����������⓾����������˨����吾�������������⓾�������≪�吾�ャ�若�˨�˩室�����≪�吾�ャ�若�˨����㋚���� 荀������������⓾����ŝ��������腆肴�������⓾��������������
��雁�����篁������⓾�������勉�≪�吾�ャ�若�˨�壠��荀������������⓾����⓾����障��絖���������ŝ���� 腆坂拭��������������潟�若�������吾����壔�������障�����������
(Step-by-step: ��≪�吾�ャ�若�˨��篏����)
- Start with module-starter or h2xs
-
(module-starter ��� h2xs ��������壔��������)
module-starter ��⓾�若����c�ŝ����c�� Module::Starter CPAN ��������宴�若�吾�勌�������������☁��絽���������⓾����障����� ���菴���勉�≪�吾�ャ�若�̹����冴�勉�������鴻�������í�壔����c�鴻�������冴�ャ����������違�������≪�吾�ャ�若�˨�� ���紮����������������綽�荀���ɱ����⓾�勉����<�ゃ�˨�勰��綵≪����˨�������c�㋘�壔����ŝ��篏������障��; ��������壔�潟����潟����í�ゃ�潟�����莎桁�������������勉��:
module-starter --module=Foo::Bar \ --author="Your Name" --email=yourname@cpan.org
Module::Starter ��������宴�若�吾�� CPAN ������ ��ゃ�潟�鴻����若�˨����������ŝ����翫����壔��h2xs ��壔������𡉴�������若�˨�с����㋛�ャ� XS ��≪�吾�ャ�若�˨�勰����冴�勉�������勉����勉�с��Perl ������罌宴�������⓾����障�����
�����ャ�� Perl ��勉�������� h2xs ��勐�後�������ʃ儀�����号�����:
h2xs -AX --skip-exporter --use-new-tests -n Foo::Bar
-A
��� Autoloader ��������ャ�����-X
��� XS ��������ャ�����--skip-exporter
��� Exporter ��潟�若����������ャ�����--use-new-tests
�� 菴�篁g����ŝ����鴻����医�����荐㊤��������-n
��壔�≪�吾�ャ�若�˨�勐�����������絎������障����� - Use strict and warnings
-
��≪�吾�ャ�若�˨�勉�潟�若����� warning ��� strict ��壔�ŝ�若�潟�с�ŝ����⓾�壔�ŝ����障�������� ��í����ɾ�倶����с����勉�≪�吾�ャ�若�˨����ñ�������������������������障�������������� ��������˨��warning ��� strict ��壔�ŝ�若�潟�с�ŝ����潟�若����ŝ����⓾�� ���絽������������ŝ����с��������?
- Use Carp
-
(Carp ���篏帥��)
Carp ��≪�吾�ャ�若�˨��篏帥�������������í�若�<����祉�若�吾����若�喝�冴����眼�勤����鴻����� ��阪�������������������堺�ャ�障����� �����勉�≪�吾�ャ�若�˨�с�壔�ŝ�������若�喝�冴����眼�勐�馹���с��������������腓冴�������勉�с����� 箴������違�������勉�������˨��������:
warn "No hostname given";
��⓾�若�吟�壔����勉�������ŝ�<����祉�若�吾��荀������������˨�ŝ����障��:
No hostname given at /usr/local/lib/perl5/site_perl/5.6.0/Net/Acme.pm line 123.
��������с�壔�������ŝ����勉�≪�吾�ャ�若�˨��篏������������c����������������⓾�������������̬�������障����� 篁c�������˨����⓾�若�吟�̬岡篁祉����ŝ�������ゃ�������������勉�с����� �����勉����������阪�������障��:
No hostname given at bad_code, line 10.
��������������˨�壔��Carp �����ゃ����c�⓾��
warn
���carp
��̥舟�����������障����� ������die
������綽�荀������������ŝ�����croak
���篏帥����障����������� �����������㋚����˨����ŝ����勉�≪�吾�ャ�若�˨�勤岡篁祉�˨����������с����壔�勐�翫����壔��warn
���die
��勉�障�障�˨����⓾�������障����������� - Use Exporter - wisely!
-
(Exporter ���篏帥�� - 莖≪��!)
Exporter ��壔����激�潟����˨����泣����˨�若����潟����≪�吾�ャ�若�˨����� ��若�喝�冴����眼�勐�����腥咲����˨����壔�鴻����若��������罔�羣������ʋ�号����������������с����������� �����������違��
use Net::Acme qw(&frob)
�����吾����違��frob
��泣����˨�若����潟�� ��ゃ�潟����若�������障�������������宴�若�後����違��
@EXPORT
��˨����c�⓾����若�喝�冴����眼�����膣���use Net::Acme
�����吾�������������˨����í�勉�激�潟����˨�������壔�鴻����若����������������� 羆冴�障����障����� ��祉�������í�勐�翫����壔����������˨�壚�������������ŝ����с����������� 筝���鴻��@EXPORT_OK
�����ゃ�������������í�勐����違�������壔�鴻����若�������⓾�������������� ���絎���с����障����� ��������������勉�激�潟����˨�������壔�鴻����若�������������翫����壔��%EXPORT_TAGS
��� 篏帥�c�⓾�������壔�鴻����若����勉�祉��������絎�臂í����障����������� 荅潟�������� Exporter ��������с����⓾�������������� - Use plain old documentation
-
(plain old documentation ���篏帥��)
篁�篋���壔����若����若�壔�若�壔����������障�с�壔��腟���������с�壔�������障�������� ��≪�吾�ャ�若�˨�勉����㏍�ャ�<�潟�������吾����������勖��������綽�荀���с�����
module-starter
���h2xs
�����ñ����������違�������潟����㋘�若�����篏���c�⓾�������障����勉�с�� ��������������������違�������с��; �����í�若����������������������������ŝ�������違����障����� perlpod ���荀���⓾�������������� ��≪�吾�ャ�若�˨����í�勉�������˩戎��������勉�������障����ʋ��荀������������〠��羈���勤ą��������� ��������������勉�泣����˨�若����潟����<�純�������勖����処ą���������箴������⓾�������������� �����肴����勉����若����������� Perl ��勉�潟�<�潟�������ñ�������������潟����⓾�若�吟�吾� �����若����˨�� POD ���篏帥�c�⓾�������������� - Write tests
-
(�����鴻�������吾�
�����蚊�⓾�������������鴻����潟�若�����篏���c�⓾�������ŝ����勉�≪�吾�ャ�若�˨���������������� �����í����������í�若��筝���� Perl ��с�������潟�������������˨����障�����������������腆肴�������障����������� CPAN ��˨�≪�吾�ャ�若�˨����≪�������㏍�若����������������������������勉����鴻�帥�若����≪�吾�ャ�若�˨�� �����˨�������⓾�������鴻����勛�������������ŝ����̹����c�⓾����������с����������� ��������с����障�����
module-starter
���h2xs
���篏帥����違��緇���ф�≦宍�櫝�純�ŝ�� �����鴻�������㋘�若����壔�若�壔�����箴���������障����� �����˨�潟�潟����ゃ�˨�������������������с�ŝ�������������������������鴻�������障����������� Test::Simple ��� Test::More ��壔�������鴻�� ��鴻�ゃ�若�������吾����������勰��紮���鴻�������⓾����������勉�с����� - Write the README
-
(README �����吾�
CPAN ��˨�≪�������㏍�若����������������壔��README �����<�ゃ�˨����ɱ����ф�遵�冴�������⓾�� �����ŝ����� CPAN �����c�㋘�壔����ŝ�̥舟��������障����� ��障�������≪�吾�ャ�若�˨�ŝ�鴻����̬����c����翫����˨�壔��by-module ��� by-category �� ��<�ゃ�潟����c�㋘�壔����ŝ�˨�����臀勉�������障����� �����勉����<�ゃ�˨�˨�������勉�≪�吾�ャ�若�˨�勉�������������勤¼膣違�����筝���ゅ����勉�ŝ�ŝ�若�鴻������� 紊���雁�鴻����吾����⓾�������◑�壔����с�����������
(Step-by-step: ��≪�吾�ャ�若�˨�����絽�������)
- Get a CPAN user ID
-
(CPAN ��⓾�若�� ID ������緇�������)
CPAN ��с�≪�吾�ャ�若�˨�����絽���������˨�壔��CPAN ID ���綽�荀���с�����
http://pause.perl.org/
��̬┴�����⓾��"Request PAUSE Account" �����御�������� ��ŝ�壔����鴻����� PAUSE 膊∞����������粋�������������勉��緇���<�障����������� perl Makefile.PL; make test; make dist
-
�����������
module-starter
���h2xs
��壔����鴻�⓾����c�⓾�������障����� ��≪�吾�ャ�若�˨����ゃ�潟�鴻����若�˨�������������˨����頳�������罔�羣�������Makefile.PL
��� ��с����⓾����障����� ��������������������� Makefile ���dist
��帥�若�蚊����������������障�������≪�吾�ャ�若�˨�������鴻����˨����鴻��������������腆肴�����������(�����ゃ�с��腆肴���������������� ��������������с��)���
make dist
���絎�茵���������違��Makefile ��壔�≪�������㏍�若��羣������ ��眼�c�� tarball �����<�ゃ�˨�������������⓾�������障����� - Upload the tarball
-
(tarball �����≪�������㏍�若��������)
CPAN ID ������緇���с��������������絮���� email ��˨��PAUSE (the Perl Authors Upload SErver) ��吾�勉�㏍�違�ゃ�恰�号�����莠���c�⓾����障����� ��<����ャ�若�������御�������⓾����≪�吾�ャ�若�˨��CPAN��˨�≪�������㏍�若����с����障�����
- Announce to the modules list
-
(��≪�吾�ャ�若�˨�ŝ�鴻����˨�≪����⓾�潟�鴻�����)
��≪�������㏍�若�������������������ŝ����勉����c�㋘�壔����ŝ�˨�������������с�壚査��勉��綣������障�������� 篁���勉�� CPAN ��≪�吾�ャ�若�˨����������������̬����������������違��PAUSE �� "Register Namespace" ��̬����鏆�荀������������障����� ��脂�蚊�������������������ŝ����勉�≪�吾�ャ�若�˨�� CPAN ��勉�≪�吾�ャ�若����ャ�������潟�˨����眼�ɱ�ャ� ��ŝ�鴻����̬;腓冴�������障�����
- Announce to clpa
-
(clpa ��˨�≪����⓾�潟�鴻�����)
��ŝ�ŝ�若�鴻��������������筝����筝㏍�˨�≪����⓾�潟�鴻����������������������������������ŝ����� ��≪����㋘�若����������⓾��������
comp.lang.perl.announce
�����ャ�若�鴻�違�˨�若���� ��≪����⓾�潟�鴻�����腮帥����⓾�帥�障����������� - Fix bugs!
-
(�����違����ŝ�����!)
��⓾�若�吟�������障�c�⓾����������������違�㋘����若����������������〠�ャ�障����� �����������������違�������������������c�⓾����������с����������� ��純�������⓾�с�≪����㏍�吾�с�壔����勉�<�潟�������潟�鴻�������������潟��緇���c�⓾����障�� ...
Simon Cozens, simon@cpan.org
Updated by Kirrily "Skud" Robert, skud@cpan.org
perlmod, perlmodlib, perlmodinstall, h2xs, strict, Carp, Exporter, perlpod, Test::Simple, Test::More ExtUtils::MakeMaker, Module::Build, Module::Starter http://www.cpan.org/ , http://mathforum.org/~ken/perl_modules.html ��˨�������� Ken Williams ��˨�������ŭ����勉�≪�吾�ャ�若�˨�������˨����������������勉����ャ�若����ŝ�≪�˨��