in reply to Re^2: Recover a variable from a loop
in thread Recover a variable from a loop

unless ($white{browser_name => $browser[0]}->compare($blue{browser_name => $browser[1]})) {
   $diff_file = $white->difference($blue);
   print '#The images differ; see ' . $diff_file . ' for details'. "\n";
   ...
   }

I don't understand what you're trying to do with an expression like $white{browser_name => $browser[0]}, but I doubt it's the right way to go.

You're trying to use the old fashioned (pre-Perl 5) multidimensional array hack | emulation on the hash  %white which you have never declared. (Update: You're not accessing the  $white object reference.)

c:\@Work\Perl\monks>perl -wMstrict -le "use Data::Dump qw(dd); ;; my %white; ;; my @bar = qw(bozzle); ;; $white{ foo => $bar[0] } = 'wibble'; dd \%white; " { "foo\34bozzle" => "wibble" }
The  "foo\34bozzle" key in the dd dump is part of this old hack. See  $; in perlvar for some info on this. I'd like to give you a more complete reference, but I can't seem to find one ATM. (Anyone...?) (Update: Ok, there's this brief discussion on-line in perldata: Multi-dimensional array emulation.)


Give a man a fish:  <%-{-{-{-<