in reply to Selective Printing of Lines
What is this use case here? Something beyond homework?
my %min_data; for my $line (@lines) { my @columns = split ' ', $line; unless (exists $min_data{$columns[1]}) { $min_data{ $columns[1] } = {min=>$columns[0],lines=>[$line]}; } elsif ($columns[0] == $min_data{ $columns[1] }->{min}) { push @{ $min_data{ $columns[1] }->{lines} }, $line; } elsif ($columns[0] < $min_data{ $columns[1] }->{min}) { $min_data{ $columns[1] }->{lines} = [$line]; $min_data{ $columns[1] }->{min} = $columns[0]; } } for my $column_two (sort keys %min_data) { say for @{ $min_data{$column_two}->{lines} }; }
onelesd's solution is far more simple
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Selective Printing of Lines
by onelesd (Pilgrim) on Sep 15, 2011 at 23:01 UTC |