Thread Perl für Anfänger!
(11 answers)
Opened by Togad at 2007-09-20 12:00
XYZ steht in $option, nicht in $self. In $self ist das Objekt...
$self ist eine geblesste Hashreferenz - aber immer noch eine Hashreferenz. Wenn Du also Code (perl): (dl
)
$handler->conf('XYZ', 'Das ist der Wert'); Dann wird $params[0] als Wert für den Schlüssel 'XYZ' in der Hashreferenz gespeichert, die zu dem Schlüssel 'OPTION' im Objekt gehört. Vielleicht verstehst Du es mit diesem Demoskript besser: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; # erzeuge eine Hashreferenz (simuliert das Objekt) my $self = {}; # simuliere $handler->conf('XYZ','Wert'); my $value = conf($self,'XYZ','Wert'); print $value; sub conf { my ( $self, $option, @params ) = @_; print Dumper $self; if ( scalar @params ) { # if parameter submitted, set it $self->{CONFIG}->{$option} = $params[0]; } # if print Dumper $self; unless ( exists $self->{CONFIG}->{$option} ) { Carp::croak "Error: \$handler->conf($option) not existing"; } # unless return $self->{CONFIG}->{$option}; } # conf OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |