#!/usr/bin/perl use strict; use warnings; my %elements = (); my $input = $ARGV[0]; my $cnt=0; open (my $fh, '<', $input) or die("ERROR open $input ($!)\n"); while(my $line=<$fh>) { chomp($line); my ($id,@words) = split /\s+/, $line; #füge dem hasheintrag "$elements{$id}", # welches ein Array ist (siehe Autovivikation), # einen weiteren Eintrag hinzu, # der das Array "@words" ist. push(@{$elements{$id}},\@words); $cnt++; if ($cnt % 1000000 == 0) {print "read another 1000000 lines!\n";} } close($fh); while( my ($k, $v) = each %elements ) { print "key: $k\n"; for my $i ( 0 .. $#{$v} ) { print " cols $i: ". join( ', ', @{ $v->[$i] } ) ."\n"; } }