Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
autoload4.pl
#!/usr/local/bin/perl -w
# autoload4.pl -- Liest Funktionsdefinition bei Bedarf aus einer Datei:
my $libdir = "."; # VERAENDERN, z.B. $ENV{'HOME'} . "/lib";
sub AUTOLOAD {
$AUTOLOAD =~ s/.*:://; # Entferne den Packagenamen
print "AUTOLOAD(): Trying to load $AUTOLOAD...\n" if defined $^W;
eval {
require "$libdir/$AUTOLOAD.inc"; # Datei einlesen und evaluieren
};
die "AUTOLOAD(): Error while loading: $@\n" if $@;
&{$AUTOLOAD}(@_); # Geladene Funktion selbst aufrufen!
}
# Probieren wir es aus:
$erg = add(11,22); # Laden und evaluieren
print "add(11,22) == $erg\n";
$erg = add(33,44); # Kein Laden, da add() definiert ist!
print "add(33,44) == $erg\n";
print magic(); # Ausnahme! Funktion unbekannt.
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:51 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|