use strict; # start by extracting all unique information from file my %addresses = (); while (<>) { my ( $addr, @aliases ) = split( /\s+/, $_ ); foreach my $alias ( @aliases ) { $addresses{$addr}->{$alias} = 1; } } # write out unique information in requested format my @masterarray = (); foreach my $addr ( keys %addresses ) { my @aliases = (); foreach my $alias ( keys %{$addresses{$addr}} ) { push( @aliases, $alias ); } push( @masterarray, [ $addr, @aliases ] ); } # print out array foreach my $masterline ( @masterarray ) { print( join( ' ', @{$masterline} ) ); print( "\n" ); }
When supplied with a data file matching your input it outputs the following:
C:\temp>perl -w test.pl testdata.txt IPADDRESS alias1 alias2 alias5 IPADDRESS2 alias3 alias4 alias5
In reply to Re: Perl and arrays of arrays?
by monarch
in thread Perl and arrays of arrays?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |