結構、長い間、Perl でプログラミングをやっていますが、ずっと独学で、ほとんど本とか読んだことがありません。今まで、+shift や +time の + 記号って何なのかよく判っていなかったんですが、今日、その謎が解けました。検索してもヒットしないんだもの。
$a{time} = 'time';
$a{+time} = '+time';
$a{-time} = '-time';
use Data::Dumper;
print Dumper (%a);
$VAR1 = {
'1234567890' => '+time',
'-time' => '-time',
'time' => 'time'
};
ふむふむ。
sub func {
$a{shift} = 'shift';
$a{+shift} = '+shift';
$a{-shift} = '-shift';
use Data::Dumper;
print Dumper (%a);
}
&func (1,2,3);
$VAR1 = {
'-shift' => '-shift',
'1' => '+shift',
'shift' => 'shift'
};
なるほどー。システム組み込み関数などを bareword*1 ではなく、関数として認識させるためなんですね(゚ー゚*)