私はPerlスクリプトを持っています。コマンドラインから直接呼び出された場合は、実行したい sub main
.
requireを使って呼び出された場合、何もしないで呼び出し元のスクリプトが呼び出すのを待っています sub job
それはレジャーでのことです。
回答:
回答№1は1Perlモジュールだけでなく、スクリプトからも実行可能なコード用の推奨Perlソリューションがあります。
それは通常 "モジュリノ"と呼ばれ、ハウツーを見つけるためにGoogleやSO検索用語として使用することができます。
ここで参考リンクを使って説明します。
回答№2の場合は1
スクリプトをモジュールとフロントエンドプログラムに分割する必要があるかのように聞こえます。次に、機能を使用したいプログラムは、 use
(または require
、あなたが主張するならば)、スタブプログラムはそれを行うことができ、 job
サブルーチンも同様です。
回答№3の場合は1
あなたはこういうことができます:
#!/usr/bin/env perl
package Some::Module;
sub job { ... }
sub main { ... }
if (!caller) {
main(@ARGV);
}
1;
__END__
=head1 NAME
Some::Module - program, podpage, and module
....
これで同時にすべてのことができます:
コマンドラインからプログラムとして呼び出される実行可能なスクリプト。
main()
関数)モジュール
use
その場合、関数定義を読み込むだけですあなたが走れるポッドページ
pod2text
に
それはあなたが探していたものですか?