in reply to Re^2: key and values help
in thread key and values help
With a little ambition you might have taken my example and run with it, adapting it to your needs. But here's the updated version that more closely accomplishes what you're asking, now that the details are known. Honestly, the only significant change was to how I formatted the output of the sample script. The script was already capable of handling data formatted in just about any way, so long as the formatting is accomplished with what Perl thinks of as space (\n\t\r and ' ')
use strict; use warnings; my $input = <<HERE; log1 123 log1 233 log1 223 log2 465 log2 231 log2 456 HERE my %groups; { my @items = split /\s+/, $input; while ( @items ) { push @{$groups{ +shift( @items ) }}, shift( @items ); } } { local $" = "\t"; print "$_\n@{$groups{$_}}\n\n" foreach sort keys %groups; } __OUTPUT__ log1 123 233 223 log2 465 231 456
My second example uses a HERE doc to illustrate input in the form of a tabular list. Also, I played around with scoping a bit to keep variables confined to narrower scopes... not really necessary, but you've got to let me have a little fun with it too. ;)
If this is your first post to the Monastery, let me point out that when you post nodes, your input needs HTML-like markup, or else it will lose all formatting. Prior to your initial post being edited by a janitor (me), it was impossible to tell that your input data was in a tabular format. After adding simple code tags, it became apparent that you were presenting tabular format data. Please do read the PerlMonks FAQ for details on formatting your posts with PerlMonks HTML tags.
Dave
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: key and values help
by ysth (Canon) on Aug 08, 2004 at 05:25 UTC |