No, non scrivere uno script di shell. Perl ha già un modo perfetto per farlo. Il modo corretto per farlo è creare una distribuzione pronta per CPAN usando la normale toolchain. Alcuni di questi sono spiegati in perlnewmod, perlmodstyle e perlmodinstall.
Per un esempio di lavoro minimo, creare un layout directory così:
.
├── Build.PL
├── README
└── script
└── abuscript.pl
Nel file Build.PL
, messo:
use 5.000;
use Module::Build qw();
Module::Build->new(
module_name => 'abuscript',
dist_version => '1.000',
dist_author => 'abubacker <[email protected]>',
dist_abstract => 'describe what the script does in one sentence',
configure_requires => {
'perl' => '5.000',
},
requires => {
'JSON::Any' => 0,
},
)->create_build_script;
Modificare i dettagli di serie i vostri scopi.
Nel file README
, mettere un po 'istruzioni per l'installazione, per esempio:
To install this module, run the following commands:
perl Build.PL
./Build install
Una volta che hai finito con tutto questo, si esegue:
perl Build.PL
./Build manifest
./Build dist
Questo si tradurrà in un archivio .tar.gz
che distribuirai. Dì ai tuoi utenti di installarlo come qualsiasi altro modulo CPAN, o se non sanno cosa significa, dovrebbero leggere il README.
Se hai tempo, ti consiglio di convertire lo script in un modulo. Il programma pl2pm (fornito con Perl) e il modulo CPAN Module-Starter-PBP ti aiutano.
Se la licenza lo consente, è possibile caricare il codice su CPAN per renderlo ancora più conveniente per i propri utenti. Chiedi aiuto in uno dei seguenti posti: mailing list [email protected], forum web PerlMonks, canale IRC#toolchain su MagNET (irc: //irc.perl.org/toolchain)
Preferirei 'perl -MJSON :: Any -e1 2>/dev/null' - c'è un punto in cui stampare la versione e inviarla a un po 'bucket – justintime
@justintime: Come ho detto, se vuoi controllare il versione di JSON :: Any, cattura l'output - mi ha salvato dover spiegare come ottenere la versione come esercizio separato. –