The string (if it is a string) that you want seems to be in a format very similar to JSON (see also JSON on Wikipedia). You may even be able to parameterize the JSON methods to eliminate the characters you don't (seem) to need, the curlies and double-quotes, without needing a separate tr/// step. Using a module like JSON means that you have immediate support if and when you need to deal with a more complex structure.
c:\@Work\Perl>perl -wMstrict -le "use JSON; use List::MoreUtils qw(zip); ;; use Data::Dump; ;; my @array1 = qw(red blue green); my @array2 = qw(black orange white); my $hashref = { zip @array1, @array2 }; dd $hashref; ;; my $j_str = encode_json $hashref; print qq{fresh: '$j_str'}; ;; $j_str =~ tr/{}\"//d; print qq{stripped: '$j_str'}; " { blue => "orange", green => "white", red => "black" } fresh: '{"green":"white","blue":"orange","red":"black"}' stripped: 'green:white,blue:orange,red:black'
In reply to Re: Getting the hash in this format
by AnomalousMonk
in thread Getting the hash in this format
by ash_86
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |