Hi,
This should give you a starting point:
#!/usr/bin/perl use strict; use warnings; use 5.010; use Carp; use Data::Dumper; use strict; use Data::Dumper; my %hash; while(my $line = <DATA>) { chomp $line; next if $line =~ m/^\s*#/; next if $line =~ m/^\s*$/; my ($number, $user, $comment) = split /\s+/, $line, 3; $hash{$number} = { number => $number, user => $user, comment => $comment, } } say Dumper(\%hash), "\n"; __DATA__ #Number User Comments 1234567 sam changed abc in the file. 5646542 john deleted asds in the file. 45656 me what a use name 535353 McA Supermonk *grin*
UPDATE: MidLifeXis had a very good question at Re: Hash of Array references. If you want to allow more than one entry per number you can collect them in an array. So change the lines
$hash{$number} = { number => $number, user => $user, comment => $comment, }
to
push @{$hash{$number}}, { number => $number, user => $user, comment => $comment, };
Regards
McA
In reply to Re: Hash of Array references
by McA
in thread Hash of Array references
by sravs448
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |