Erstellen Sie Ihr eigenes Modul. Aber, wenn Sie ein Paket in diesem Modul machen, werden diese strftime
usw. in einen anderen Namensraum importiert. Sie können litle Hack tun, um diese smiple zu tun:
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;
Hinweis gibt es in diesem .pm kein package
Schlüsselwort war. Ihr Skript:
use MyModules;
Dieses .pm in demselben Verzeichnis mit Skript oder Module zur Laufzeit-Suchpfad hinzufügen:
use lib '/my_modules_dir/';
use MyModules;
Verwendung von tun und erfordern Befehle wird nicht empfohlen, da sie Überprüfe die Syntax beim Start des Skripts nicht. Sicher, Sie können sie setzen in Block beginnen, aber ich denke, seine schwierige Art und Weise und in der Regel BEGIN{ require ..}
ist die gleiche wie use
UPD: ikegami erwähnte Problem seine nicht funktioniert, wenn Sie diese verwenden, um von vielen Modulen. Unabhängig von der Frage des Starters (er möchte dies aus dem Hauptskript verwenden), füge ich Informationen dazu hinzu, wie man dieses aus vielen Modulen benutzt, damit sich mein Freund besser fühlen kann. Zum Ende von MyModules.pm hinzufügen:
delete $INC{'MyModules.pm'};
1;
Bisher: http://stackoverflow.com/questions/437785/is-there-a-way-to-use-a-single-file-that-in-turn-uses-multiple-others-in-perl http://stackoverflow.com/questions/4919625/perl-how-to-share-the-import-of-a-large-list-of-modules-between-many-independen http://stackoverflow.com/questions/6412799/perl-how-to-make-use-mydefaults-mit-modern-perl-utf8-defaults – daxim