http://www.perlmonks.org?node_id=1018744


in reply to Re^2: Dereference string in foreach
in thread Dereference string in foreach

I wasn't being mean, ornery or cantankerous. Take what I said at face value. If strict and warnings were turned on (as I showed) the problem would have shown itself very clearly.


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Replies are listed 'Best First'.
Re^4: Dereference string in foreach
by LanX (Saint) on Feb 14, 2013 at 22:12 UTC
    > If strict and warnings were turned on (as I showed) the problem would have shown itself very clearly.

    Nope, it's another problem just at the same place.

    Using my fixes the errors but not the OP's problem, which is foreach localization and aliasing.

    use warnings; use strict; my $string; my @array_of_strings=1..3; my $sref = \$string; foreach $string ( @array_of_strings ) { print $$sref; } __END__ Use of uninitialized value in print at - line 8. Use of uninitialized value in print at - line 8. Use of uninitialized value in print at - line 8. lanx@nc10-ubuntu:~$

    Cheers Rolf

Re^4: Dereference string in foreach
by Anonymous Monk on Feb 14, 2013 at 19:29 UTC

    Oh. I seem to have missed the part where the problem showed itself very clearly. I'm still not quite sure where it is shown, actually.

Re^4: Dereference string in foreach
by Anonymous Monk on Feb 14, 2013 at 21:34 UTC

    Anyway, sorry about that. I did not particularly mean to lash out at you -- your advice just seemed like one of those "you must use strict even for the smallest script" posts that I sometimes see.