in reply to Going through a retrieved Hash list

It seems to me that your trying to store a list as a hash, so when you print out $m you only get one item, the first item, since that is the key of your hash. If you change it to an array you get both items.
my @list = ( [ "'NEIS.IFMS.CP2#LOAD.CHGT.DAT'" => 0, "sqlload / ifmschgt.dat >> ifmschgt.log" => 0 ], [ "'NEIS.IFMS.CP2#LOAD.TOLT.DAT'" => 0, "sqlload / ifmstolt.dat >> ifmstolt.log" => 0 ], ); store( \@list, 'store' ); my $root = retrieve( 'store' ); foreach my $line ( @{ $root } ) { foreach my $m ( @{ $line } ) { print $m, "\n"; } }
HTH