M. Lewis wrote:
> I have the following simple script. I'm toying with HoA for the first
> time. The script is not working as expected and I know why it's not
> working. Each time a $HoA{$prod} is read, the $flavor is replaced with
> the new value.
>
> It would seem that I need to push the $flavor onto an array. But I'm not
> quite sure how to proceed.
>
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use Data::Dumper::Simple;
>
> my %HoA;
>
> while (my $ln = <DATA>){
> chomp $ln;
> my ($prod, $flavor) = split /\s/, $ln, 2;
You probably should use ' ' instead of /\s/ as the first argument to split:
my ($prod, $flavor) = split ' ', $ln, 2;
> $HoA{$prod} = [$flavor];
You push them in like so:
push @{ $HoA{ $prod } }, $flavor;
> }
>
> for my $i (keys %HoA){
> print "$i -- @{ $HoA{$i} }\n";
^^^^^^^^^^^^^
You got it right here. :-)
> }
>
>
> warn Dumper (\%HoA);
>
> __DATA__
[ snip ]
John
--
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order. -- Larry Wall
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>