Furthermore I have to express great doubt, that the desired output is really clever.
> showing 2 blocks only (the actual file has 61).
61 blocks and 9 solvents, means you will have many cases where the same "solvent" is chosen.
Hence your projected hash-keys <solvent>_<F...> will be overwritten each time you have such a collision. (hash keys are unique!!!)
Do you really want the data of max 9 last different solvents only?
I'd say what you really need is an AoH = array of hashes
@res = ( { solvent => 'h2o', F001 => 1.2, F101 => 3.2, ... }, { solvent => 'acetonitrile', F001 => 2.2, F101 => 7.2, ... }, ... );
And of course you have to be sure that there is only one solvent = 0 in each block, otherwise ...
or a HoAoH hash of arrays of hashes
$res{'h20'}[0]{F001}= 2.2; ...
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
In reply to Re: Help with parsing a file (hash keys are unique)
by LanX
in thread Help with parsing a file
by Odar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |