in reply to Re: key and values help
in thread key and values help

hello Davido, that was a quick reply but the input is in tabular form like the one I pasted log1 123 log1 233 log1 223 log2 465 log2 231 log2 456

Replies are listed 'Best First'.
Re^3: key and values help
by davido (Cardinal) on Aug 07, 2004 at 04:22 UTC

    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

      Just wanted to again publicize that you can see the original formatting of anyone's nodes by using the little xml link under the title. You may need to then tell your browser to view the source of the xml returned.