Thread Syntax für sub Aufruf im Package?
(11 answers)
Opened by bianca at 2013-02-07 17:32 2013-02-07T17:21:48 bianca In PHP dient der Autoload-Mechanismus dazu, Klassen zu laden; mit einer weiteren PHP-Magic-Method kann auf Objekt-Attribute zugegriffen werden, die es bis dahin noch nicht gibt. In Summa geht per PHP dann sowas: echo $this->AnyClass->method(); Idee, sowas in Perl zu bauen, dass könnte z.B. so aussehen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 use strict; use warnings; my $mo = bless{}, 'main'; # einfach eine Instanz Deiner Klasse (hier: 'main'); $mo->autoload('HTTP::Headers', 'header', 'Content-Type' => 'text/plain; Charset=UTF-8'); print $mo->autoload('HTTP::Headers', 'as_string'); sub autoload{ my $self = shift; my $classname = shift; my $methodname = shift; # weitere Parameter in @_ eval("use $classname"); # Klasse zur Laufzeit einbinden die "Can't use Class '$classname', Error: $@ \n" if $@; $self->{$classname} = $classname->new() if not exists $self->{$classname}; my $code = $self->{$classname}->can($methodname); $self->{$classname}->$code(@_); } Achtung: Die Fehlerbehandlung ist stark sanierungsbedürftig ;) Ansonsten wird alles richtig ausgegeben: Code: (dl
)
Content-Type: text/plain; Charset=UTF-8 --Rosti |