in reply to hash dereferencing issue with perl 5.16.3
Further to toolic's post, the change seems to have occurred between 5.8.9 and 5.10.1.
Checking perl5100delta and perl5101delta reveals no explanation for the change.c:\@Work\Perl>perl -wMstrict -le "print qq{perl version $]}; ;; my %h = qw(a aye b bee); my $hr = \%h; ;; print ${ %{$hr} }{a}; print ${ %h }{b}; " perl version 5.008009 aye bee c:\@Work\Perl>perl -wMstrict -le "print qq{perl version $]}; ;; my %h = qw(a aye b bee); my $hr = \%h; ;; print ${ %{$hr} }{a}; print ${ %h }{b}; " perl version 5.010001 Can't use string ("2/8") as a HASH ref while "strict refs" in use at - +e line 1.
Update: Note that similar syntax works/doesn't work for arrays:
c:\@Work\Perl>perl -wMstrict -le "print qq{perl version $]}; ;; my @ra = qw(zero one two); my $ar = \@ra; ;; print ${ @ra }[1]; print ${ @$ar }[2]; " perl version 5.008009 one two c:\@Work\Perl>perl -wMstrict -le "print qq{perl version $]}; ;; my @ra = qw(zero one two); my $ar = \@ra; ;; print ${ @ra }[1]; print ${ @$ar }[2]; " perl version 5.010001 Can't use string ("3") as an ARRAY ref while "strict refs" in use at - +e line 1.
Give a man a fish: <%-(-(-(-<
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: hash dereferencing issue with perl 5.16.3
by KANAKADANDI (Initiate) on May 03, 2015 at 01:05 UTC | |
by aaron_baugher (Curate) on May 03, 2015 at 03:28 UTC | |
by AnomalousMonk (Archbishop) on May 03, 2015 at 05:42 UTC | |
by aaron_baugher (Curate) on May 03, 2015 at 08:29 UTC | |
by Anonymous Monk on May 03, 2015 at 07:52 UTC | |
by AnomalousMonk (Archbishop) on May 03, 2015 at 23:41 UTC | |
by Anonymous Monk on May 03, 2015 at 01:15 UTC | |
by toolic (Bishop) on May 03, 2015 at 12:20 UTC |