#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $file='test.txt'; open(my $fh, '<', $file) or die("error open $file ($!)\n"); my $first=<$fh>; chomp($first); my @header=split(/\t/,$first); my @inhalt; while(my $line=<$fh>) { chomp($line); my @elements=split(/\t/,$line); push(@{$inhalt[$_]},shift(@elements)) for(0..$#header) } close($fh); print Dumper(\@inhalt);