In your log line sample there are two lines with the same first number. however if the first number is the log line and you use a sample where all the first numbers are different this shows you how to create a hash of arrays where the key is the first number in the line.
This will not work if you eliminate the my designation for @array.#!/usr/bin/perl use strict; my @sample = ("483 OS dx-32 1 charles list4 aardvark.com ty-off lx-on C 01", "495 DS dx-14 1 james list3 23.456.12.7 ty-on lx-on B 01", "769 XO dx-32 5 sully nolist widgets.com ty-on lx-on V 07"); my %hoa; foreach my $line (@sample){ my @array = split(/ /, $line); my $key = $array[0]; $hoa{$key} = \@array; #this is a reference } my @keys = keys %hoa; foreach my $item(@keys){ print "log line $item\n"; my @array = @{$hoa{$item}}; #this is dereferenced foreach my $part(@array){ print "$part - ";} print "\n"; }
In reply to Re: array of hashes, categorized by array index
by bdalzell
in thread array of hashes, categorized by array index
by tevus_oriley
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |