I find this solution to be very nice and elegant, probably because I would never have thought of it :).

I'm sure there's a module somewhere out there that allows you to merge several hashes into a hash of arrays, which may be a more convenient structure depending on what you want to do with it.

Here is another way to get those values in a AoH without the multiple m problem :

use strict; use warnings; use Data::Dumper; my %store; # put the results in here while (<DATA>) { while(m< (\w+) = "((?:[^"\\]|\\.)+)" >gx) { # $store{$1} ||= []; ## useless: see hdb's answer below push @{ $store{$1} }, $2; # or push @array, {$. => $2} if you +want to keep track of the line of definition } } print Dumper \%store; # Look what we got __DATA__ dvgqu="0"vgrq="0"w="0"devce="db"elped_me="0"r="0"rmb="0"rrqm="0"vcm="0 +"ul="0"w="0"wmb="0"wrqm="0" dvgqu="0.00"vgrq="58.91"w="0.09"devce="d"elped_me="1"r="0.00"rmb="0.00 +"rrqm="0.00"vcm="0.09"ul="0.05"w="5.50"wmb="324.00"wrqm="35.00"
$VAR1 = { 'ul' => [ '0', '0.05' ], 'w' => [ '0', '0', '0.09', '5.50' ], 'vgrq' => [ '0', '58.91' ], 'r' => [ '0', '0.00' ], 'rrqm' => [ '0', '0.00' ], 'elped_me' => [ '0', '1' ], 'devce' => [ 'db', 'd' ], 'dvgqu' => [ '0', '0.00' ], 'wrqm' => [ '0', '35.00' ], 'rmb' => [ '0', '0.00' ], 'vcm' => [ '0', '0.09' ], 'wmb' => [ '0', '324.00' ] };


In reply to Re^4: I need to insert spaces and get the values for all the variables by Eily
in thread I need to insert spaces and get the values for all the variables by rahulruns

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.