独自のモジュールを作成します。ただし、このモジュールでパッケージを作成すると、それらstrftime
などは別の名前空間にインポートされます。あなたはこのsmipleをするために少しハックをすることができます:
MyModules.pm:
use strict;
use XML::Parser;
use XML::Simple;
use DBI;
use DBD::DB2::Constants;
use POSIX qw( strftime );
use Storable qw(dclone);
use Data::Dumper;
use Carp;
package
この.pmにはキーワードがないことに注意してください。スクリプト:
use MyModules;
この.pmをスクリプトと同じディレクトリに配置するか、実行時にモジュール検索パスを追加します。
use lib '/my_modules_dir/';
use MyModules;
doおよびrequireコマンドの使用は、スクリプトの開始時に構文をチェックしないため、お勧めしません。確かにそれらをBEGINブロックに配置することはできますが、そのトリッキーな方法であり、一般的にBEGIN{ require ..}
はuse
UPD:ikegamiは、多くのモジュールからこれを使用すると、問題が機能しないことを指摘しました。質問のスターターの情報(彼はメインスクリプトからこれを使用したい)に関係なく、多くのモジュールからこれを使用する方法についての情報を追加します。そうすれば、私の友人は気分が良くなります。MyModules.pmの最後に追加します。
delete $INC{'MyModules.pm'};
1;