On Sat, 1 Feb 2003, [EMAIL PROTECTED] wrote:
> $_ = 'use_name,mat_id,use_id,use_fname,mat_name,use_lname';
>
>
> How could I elegantly split/loop this into the following structure?
> %hash = (
> use => ["use_name","use_id","use_fname","use_lname"],
> mat => ["mat_id","mat_name"]
> };
>
> I started something like
>
> foreach (split(/,/)) {
> /(\w+)_\w+/;
> $group{$1}++;
> }
I would make sure the match worked... The following should work.
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my $words = 'use_name,mat_id,use_id,use_fname,mat_name,use_lname';
my %hash = ();
foreach my $item (split(',', $words))
{
next unless $item =~ /(\w+)_\w+/;
push @{$hash{$1}}, $item;
}
print Dumper \%hash;
_______________________________________________
Boston-pm mailing list
[EMAIL PROTECTED]
http://mail.pm.org/mailman/listinfo/boston-pm