2010-05-18 6 views
6

Kann ein Modul zur Laufzeit in Perl geladen werden? Ich habe folgendes versucht, aber es hat nicht funktioniert. Ich schrieb folgend irgendwo im Programm:Wie lade ich ein Modul zur Laufzeit in Perl?

require some_module; 
import some_module ("some_func"); 
some_func; 

Antwort

10
# In Foo.pm. 
package Foo; 

use strict; 
use warnings; 

use base qw(Exporter); 
our @EXPORT = qw(bar); 

sub bar { print "bar(@_)\n" } 

1; 

# In your script. 
use strict; 
use warnings; 

require Foo; 
Foo->import('bar'); 
bar(1, 22, 333); 
+0

'Paket' Deklaration geht nach oben. – daxim

2

Schauen Sie sich die „How to dynamically load modules“ und Sie können auch sehen [Dynaloader - Automatische Dynamisches Laden von Perl-Module] in Programmieren mit Perl.

+0

jeden möglichen Grund für downvote? – Space

3

Der einfachste Weg ist wahrscheinlich ein Modul wie Module::Load zu verwenden:

use Module::Load; 
load Data::Dumper; 
+0

Die Verbindung ist unterbrochen. Versuchen Sie http://search.cpan.org/~bingos/Module-Load-0.32/lib/Module/Load.pm oder vielleicht sogar http://perldoc.perl.org/Module/Load.html. –

Verwandte Themen