foreach $thing (keys(%INPUT)) { if(ref($INPUT{$thing}) eq "ARRAY") { $INPUT{$thing} = join('^', $$INPUT{$thing}); } # if($#INPUT{$thing}) { $INPUT{$thing} = join('^', $$INPUT{$thing}); } } #### foreach $thing ( keys %INPUT ) { if( ref( $INPUT{$thing} ) eq "ARRAY" ) { $INPUT{$thing} = join '^', @{$INPUT{$thing}} } } # You can also write the above like this: $INPUT{$_} = join '^', @{$INPUT{$_}} for grep {"ARRAY" eq ref $INPUT{$_}} keys %INPUT