Der folgende Beitrag wurde am 30. 08. 2009, 19:32 Uhr von hotti veröffentlicht.
Klar,
wenn ich den String 'time' als Key in einem Hash habe, quote ich das am Besten als {'time'}, was jedoch, wenn ich das nicht quote also so: {time}?
Den Key 'time' gibt es, scheinbar entspricht das Ergebnis eines weiteren Scriptablaufs auch meinen Erwartungen mit {time} als Key.
Könnte es jedoch auch Situationen geben, in denen {time} nicht als Key, sondern als Funktion interpretiert wird?
Hotte
--
Das Programm rechnet nicht falsch aber Du erwartest ein anderes Ergebnis.
Der folgende Beitrag wurde am 30. 08. 2009, 20:24 Uhr von Beat veröffentlicht.
> Könnte es jedoch auch Situationen geben, in denen {time} nicht als Key, sondern als Funktion interpretiert wird?
Im zweifelsfall time quoten, da diese interne Funktion ja keinen parameter und damit auch nicht unbedingt die Form time() erwartet.
Wenn perl mal keinen Hashkey 'time' in der symboltable findet ist es wohl höchste Zeit.
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
Der folgende Beitrag wurde am 31. 08. 2009, 07:52 Uhr von hotti veröffentlicht.
moin,
Test:
use strict;
my %h;
$h{time} = 1;
while( my ($k, $v) = each %h){
print "$k => $v\n";
}
%h = ( time => 2 );
while( my ($k, $v) = each %h){
print "$k => $v\n";
}
Bringt in beiden Fällen
time => 1
time => 2
Ergo ist Qoten wohl überflüssig, die Funktion time wird nicht gecallt.
Hotte
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4