in reply to Help creating a data structure out of a delimited string
use warnings; use strict; use Data::Dumper; my @names = qw(opens first last inc noise min max inc); my $patterns = "1 10 100 10 0 0 0 0#2 10 100 10 1 3 5 2#3 20 100 10 0 +3 5 2"; my @data; for my $set (split /#/, $patterns) { my @vals = split /\s+/, $set; my %hash; for my $i (0 .. $#vals) { $hash{$names[$i]} = $vals[$i]; } push @data, \%hash; } print Dumper(\@data); __END__ $VAR1 = [ { 'first' => '10', 'opens' => '1', 'min' => '0', 'inc' => '0', 'max' => '0', 'last' => '100', 'noise' => '0' }, { 'first' => '10', 'opens' => '2', 'min' => '3', 'inc' => '2', 'max' => '5', 'last' => '100', 'noise' => '1' }, { 'first' => '20', 'opens' => '3', 'min' => '3', 'inc' => '2', 'max' => '5', 'last' => '100', 'noise' => '0' } ];
Update: I just saw jdporter's comment in the CB about "you have two elements in the hash named 'inc'. You can only have one."
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Help creating a data structure out of a delimited string
by jwkrahn (Abbot) on Dec 15, 2010 at 18:51 UTC | |
by raybies (Chaplain) on Dec 15, 2010 at 20:03 UTC | |
by jwkrahn (Abbot) on Dec 15, 2010 at 21:56 UTC | |
by raybies (Chaplain) on Dec 15, 2010 at 21:59 UTC | |
by happy.barney (Friar) on Dec 16, 2010 at 13:24 UTC |