Mar. 14th, 2005
и еще о Perl
Mar. 14th, 2005 07:14 pmВсе написанное в предпредыдущем посте является ересью.
На самом деле никаких переменных с двумя значениями в Perl не существует.
Код
$a = 'Q';
$a->{P}='X';
print $a->{P};
print $Q{P};
напечатает
XX
потому что $a->{P} будет эквивалентно ${$a}{P}, т.е., при no strict 'refs', $Q{P}, где Q -- значение $a. При этом у нас просто появится глобальная переменная %Q, а это совсем не то, чего бы хотелось
На самом деле никаких переменных с двумя значениями в Perl не существует.
Код
$a = 'Q';
$a->{P}='X';
print $a->{P};
print $Q{P};
напечатает
XX
потому что $a->{P} будет эквивалентно ${$a}{P}, т.е., при no strict 'refs', $Q{P}, где Q -- значение $a. При этом у нас просто появится глобальная переменная %Q, а это совсем не то, чего бы хотелось