Skip to content

Latest commit

 

History

History
executable file
·
718 lines (487 loc) · 22.6 KB

perlnewmod.pod

File metadata and controls

executable file
·
718 lines (487 loc) · 22.6 KB

NAME

perlnewmod - ��違�������≪�吾�ャ�若�˨�����絽���������˨�

DESCRIPTION

�����勉����㏍�ャ�<�潟����壔��Perl ��≪�吾�ャ�若�˨����吾��������絽�������羣������������⓾��CPAN ��� ��������☗��緇��櫝�純�˨�������������勉�≪�������ゃ�鴻�с�����

Perl ���絎������˨�������ŝ��綣桁����ɾ����宴�� 1 ��ゃ�������⓾��Perl ��������˨�若����<�������ɱ���� ��顔�≪�������馹���吾�勤В羆榊�������掩�������������������⓾�������������������������������с����������� ��������������帥����ŝ����������馹������í��綽�荀���壔�ŝ����������с�����

���������絎��憗�������⓾�������勉�壔��紊������勐�翫����������純�ŝ�ャ�若�激�с�潟����処院��������⓾�� Perl ��≪�吾�ャ�若�˨�˨����⓾����������������������с����� �����������������ŝ����勉�������������������ŝ�������違�������勉����㏍�ャ�<�潟����勖�������壔����障�� 綵鴻�˨�夌�������ŝ����с��������������篁���障�с�˨�������������勌梢��í�ŝ�潟�若����� 荀���������⓾�������������с����������� perlmod, perlmodlib, perlmodinstall ��������顄㏍����с�������������祉�c� ��ャ�⓾��������������

��������������ŝ�������������鴻����������̹�≪�������≪�吾�ャ�若�˨��絖���������������ɱ����с�潟�若����� ��吾����ŝ�������������ŝ�������ŝ�c����������˨�壔�������勉�純�ŝ�ャ�若�激�с�潟����≪�吾�ャ�若�˨� 荅違��莨若����� CPAN ��˨�≪�������㏍�若�����������������罎�荐������⓾�������������� ��������������違��篁���勉�帥����ŝ�勐�ñ����˨�ŝ����障�����

Warning

(茘☗��)

��������с�壚源��˨����ャ�� Perl ��勉�≪�吾�ャ�若�˨�˨�ゃ����☀ą���������XS ��≪�吾�ャ�若�˨�˨�ゃ����⓾� 茹⓾����障�������� XS ��≪�吾�ャ�若�˨�壔�����絽吾����虁�ュ慌��違�ŝ����勛����у�ñ�����������������������絽������������˨� ��ャ�勐�馹���˨�ゃ����☀����勉�����綽�荀������������障����� ��ゃ�障�����膤�篁����(glue)��勐嚳莟<����ŝ����í�ゃ����í�ŝ�勌査羂����篁���� OS ��吾� �����若�帥����ŝ����c�ŝ�í�с����� ��������������≪�吾�ャ�若�˨�勖����������������宴�若�吾�潟�違�����絽���勤ą�����壔��XS ��≪�吾�ャ�若�˨�˨�� ���罕����綵���⓾�壔�障����с�����������

What should I make into a module?

(��ŝ�˨����≪�吾�ャ�若�˨�˨��������������鐚�)

篁���勌査��˩梢��í�˨�ŝ�������勉�ŝ�������í����ŝ�潟�若����с����≪�吾�ャ�若�˨�˨�������鴻����с����� ��帥����ŝ��篏帥�c�⓾�������í�ゃ����í�ŝ�̬恭�����ŝ�������勉��茖���c�⓾�����������篁���勌査�����ɱ���� �����㏍�違�í����̥�贋・腟���粋昭�����������勉�ŝ����ŝ����с�� OK ��с����� �����ŝ����勉�潟�若����勉����<�������㋘�с�������������⓾��篁���勉����勉�̥����粋昭�����������勉����������違�� ��������壔�≪�吾�ャ�若�˨�勐��茖���˨�ŝ����������с�����������

箴���������c�⓾�帥�障����������� ��㏍�若�˨�˨�勉����í�若�������������������若�帥��茯㏍�帥��������Perl ��勉�������激�ャ�ŝ����<�㋘�潟�鴻� ��������激�ャ�˨����⓾�������ŝ�惹�������˨����⓾�������ŝ�若�����篏������⓾�������������勉����若����� Acme Transmogrifier Server ��˨����ゃ����������������障�����

�����⓾��Acme Transmogrifier ��������c�⓾�����篋冴�壔�������障�������ŝ����������障����������� ��с����������������勉����㏍����潟�˨��荅宴����潟�若�������鴻�壔�í����������� ��吾����ŝ����⓾�壔�ŝ����ŝ����с�������� - ��������ʋ����������������≪�吾�ャ�若�˨�˨����������壔����с����� ��í�勉�㋘����˨�ф��篏������������壔����ŝ��罨∞⓬��с��: Net::SMTP ��勉������� �����㏍����潟�˨�㋘����˨�勉�≪�吾�ャ�若�˨��������Mail::Send ��勉�������ʒ����㋘����˨� ���篏���������≪�吾�ャ�若�˨�障�с�� 羆阪����������勉�壔����ŝ����с����������泣�若�������㏍����潟�˨�̥�劫����������≪�吾�ャ�若�˨�� 篏������������с�����������

�����ŝ����勉�㏍�若�˨�˨����若�帥����í�若����������̬����潟��������篋冴�壔����ŝ����勉�с���������� ��∴�������障����������� ��������������勌賢��������若�帥�壔�í�������障��������? Perl 紊���違����������ŝ�惹��������篏���c�⓾����������������í����若�鴻�������勉�壔�������������������с�� �����������������c����≪�吾�ャ�若�˨��茯違����吾����⓾�ŝ����勉�с�������違�������勉�潟�若����� ��障����≪�吾�ャ�若����������������ŝ����с�����������

�����������í����ŝ����勉����≪�吾�ャ�若�������������違�������勉�������������������������c�⓾�������с����������� �����������������������í�������c�⓾�������勉��荀���⓾�帥�障�����������

Step-by-step: Preparing the ground

(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: Making the module

(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

(strict ��� 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: Distributing your module

(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�⓾����障�� ...

AUTHOR

Simon Cozens, simon@cpan.org

Updated by Kirrily "Skud" Robert, skud@cpan.org

SEE ALSO

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 ��˨�������ŭ����勉�≪�吾�ャ�若�˨�������˨����������������勉����ャ�若����ŝ�≪�˨��