in reply to Getting the hash in this format
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'
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Getting the hash in this format
by davido (Cardinal) on Aug 23, 2014 at 17:23 UTC | |
by AnomalousMonk (Archbishop) on Aug 24, 2014 at 22:37 UTC |