Thread Hashref bei anonymer Funktion (25 answers)
Opened by Froschpopo at 2007-12-28 05:40

Froschpopo
 2007-12-28 10:44
#104170 #104170
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich finde das zu komplziert und arbeite auch nicht so gerne mit do. $/ bin ich auch nicht gewohnt.

Ich hab aber mal noch eine andere Frage:
auf das vorherige Bsp:
Code (perl): (dl )
1
2
3
4
5
my $hashref = sub {
    return shift;
};
print $hashref->(5),"\n";
print $hashref->(125),"\n";

Wo ist eigentlich der Unterschied zu:
Code (perl): (dl )
1
2
3
4
5
my $hashref = sub {
    return int(rand(1000));
};
print $hashref->(),"\n";
print $hashref->(),"\n";  #ergibt dasselbe ergebnis wie beim ersten print()


Wie oft wird $hashref denn nun ausgeführt? Nur einmal zum Zeitpunkt der Deklarierung? Oder jedesmal, wenn ich irgendwo $hashref auftaucht?

Konkret:
Code (perl): (dl )
1
2
3
4
5
my $hashref = sub {
    return $dbh->selectrow_array("SELECT * FROM users");
};
print $hashref->(),"\n";
print $hashref->(),"\n";

Ist diese Funktion jetzt statisch oder nicht? Das wäre ja blödsinn, wenn bei jedem print die ganze Datenbankabfrage neu ausgeführt wird.

View full thread Hashref bei anonymer Funktion