[Moscow.pm] Код работает в 5.8.8 и не работае в 5.10.1, почему?

Гнатына Александр gnatyna на ya.ru
Вт Фев 1 03:30:34 PST 2011


@values_from_master{ @fields_to_alias } = @$info{@fields_from_master };

какая0то у вас странная запись была.
-- 
С уважением, Гнатына Александр.
В сообщении от 1 февраля 2011 14:10:38 автор Sergey Leschenko написал:
> Добрый день
> 
> Есть такой фрагмент:
> 
> use strict;
> use Data::Dumper;
> 
> my $info = {
>     Column1 => 'Value1',
>     Column2 => 'Value2',
>     Column3 => 'Value3',
> };
> my @fields_from_master = qw(Column1 Column2);
> my @fields_to_alias = qw(Col1 Col2);
> my %values_from_master = ();
> 
> @{ %values_from_master }{ @fields_to_alias } = @{ %$info
> }{@fields_from_master };
> 
> print Dumper(\%values_from_master);
> 
> 
> Enterprise Linux Enterprise Linux Server release 5.4 (Carthage)
> This is perl, v5.8.8
> perl t.pl
> $VAR1 = {
>           'Col2' => 'Value2',
>           'Col1' => 'Value1'
>         };
> 
> Red Hat Enterprise Linux Server release 6.0 (Santiago)
> This is perl, v5.10.1
> perl t.pl
> Can't use string ("3/8") as a HASH ref while "strict refs" in use at
> t.pl line 13.
> 
> Чем объясняется эта ошибка? в perldelta сходу ничего похожего нет.


Подробная информация о списке рассылки Moscow-pm