Thread Hash by value als Sub-Parameter übergeben (18 answers)
Opened by KurtZ at 2008-02-06 19:55

sid burn
 2008-02-09 02:31
#105733 #105733
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Man kan im hash auch ein + nutzen. Damit sagt man perl dann das der Inhalt Perl Code ist. Somit geht auch das shift.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl
use warnings;
use strict;

foo({ hallo => 'welt' });

sub foo {
    my %bar = %{+ shift };

    print $bar{hallo}, "\n";

    return;
}


Allerdiengs finde ich alle hier genannten beispiele häßlicher als die Standardmethode des dereferenzierens. Und über lesbarkeit, wartbarkeit und Verständnis brauchen wir gar nicht erst reden. Nicht jeder kennt es, sonst würde dieser Thread ja auch gar nicht existieren.

Quote
Das Problem des globalen Gültigkeitsbereiches kann man durch den Einsatz von local umgehen:

Dann kann man (und sollte man) auch gleich wieder lexikalische Variablen nehmen.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Hash by value als Sub-Parameter übergeben