in reply to Hash problem

Your code would have worked if you had used a comma (list separator) to keep the hash in list context rather than the dot (concatenate) which used it in scalar context. As an aside, you can't interpolate a hash into a double-quoted string as you can with an array. However, you can get around that using the @{[ ... ]} construct; I think some call it the babycart operator.

$ perl -le ' > %hash = ( key1 => q{val1}, key2 => q{val2} ); > print qq{Scalar: }, scalar %hash; > print qq{List: }, %hash; > print qq{Interpolate: %hash}; > print qq{Interpolate in \@{[...]}: @{ [ %hash ] }};' Scalar: 2/8 List: key2val2key1val1 Interpolate: %hash Interpolate in @{[...]}: key2 val2 key1 val1 $

Cheers,

JohnGG