Thread Perl 5.42
(30 answers)
Opened by lichtkind at 2025-07-05 23:10
Eigenschaften von außen zu ändern ist schon ein bisschen mehr als nur eine writer Methode zum Ändern der Eigenschaft zu haben. Wie mein Beispiel zeigt, wird mit der Änderung einer Eigenschaft eine neue Instanz erstellt. Weil die Änderung einer Eigenschaft die vorliegende Instanz unbrauchbar machen würde.
Es mag jedoch Fälle geben,da sind die Eigenschaften voneinander unabhängig. Bspw. wenn sich bei einer Person nur die Telefonnummer ändert. Eine Anwendung dieser Art habe ich kürzlich erst geschrieben und zwar mit tie %hash. Code (perl): (dl
)
1 2 3 4 5 6 sub init{ my $self = shift; tie my %ussd, 'Objects', 'ussd' or die $@; %{$self->{STASH}} = ( %{$self->{STASH}}, %ussd); # Werte ins HTML-Template $self->{USSD} = tied(%ussd); } Der Code zum Ändern sieht so aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 # Eingabe vom Browser sub control{ my $self = shift; if($self->param('update')){ my $raw = $self->bufferdecode; # z.B. aldi, 7,99 $self->{USSD}->merge(@$raw); $self->{USSD}->write; $self->content('USSD updated'); } } Das ist meine Art modernen Perl-Code zu schreiben ;) . |