, -. , , ", , " , .
/ .
- ,
use strict;
use warnings;
my %merged;
while (my $record = <DATA>) {
chomp $record;
my ($lname, $fname, @stuff) = split /[, ]+/, $record;
push @{ $merged{"$lname, $fname"} }, grep { m/^\d+$/; } @stuff;
}
foreach my $name (sort keys %merged) {
print $name, ", ", join( ', ', sort { $a <=> $b } @{$merged{$name}}), "\n";
}
__DATA__
Nowosielski, Matthew, 484, 584, 777
Nowosielski, Matthew, 1151
Nunes, Paulino, 116
Nussbaum, Mike, 1221, 444,
Nussbaum, Mike, 156
Nowosielski, Matthew, Kimball, 485, 684, 277
Nowosielski, Matthew, 277, 484, 485, 584, 684, 777, 1151
Nunes, Paulino, 116
Nussbaum, Mike, 156, 444, 1221
use strict;
use warnings;
my %merged;
while (my $record = <DATA>) {
chomp $record;
my ($lname, $fname, @stuff) = split /,/, $record;
push @{ $merged{"$lname, $fname"} }, @stuff;
}
while (my ($name, $stuff) = each %merged) {
print $name, join( ',', @$stuff), "\n";
}
__DATA__
Nowosielski, Matthew, 484, 584, 777
Nowosielski, Matthew, 1151
Nunes, Paulino, 116
Nussbaum, Mike, 1221, 444,
Nussbaum, Mike, 156