{time} aber nicht als Funktion sondern als Key
hotti
- perl
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
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
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