in reply to table into complex data structure

Hello ic23oluk,

I think you are looking for something like that (sample of code below):

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; # CHECK FOR CORRECT USAGE unless (@ARGV == 1){ die "Usage: perl $0 \"file.txt\"\n"; } my %hash; while (<>) { chomp; next if /^\s*$/; # skip empty lines my @columns = split (/\t/, $_); next if $columns[0] =~ m/[^0-9.]/; # skipe lines that do no start + with a number $hash{$columns[1]}{$columns[2]} = $columns[4]; } print Dumper \%hash; __END__ $ perl test.pl file.txt $VAR1 = { 'Sample 1' => { 'actin' => '20,514', 'claudin' => '30,544', 'occludin' => '31,183' }, 'H2O' => { 'actin' => undef, 'occludin' => undef, 'claudin' => undef }, 'Sample 4' => { 'actin' => '20,498', 'occludin' => '27,869', 'claudin' => '25,365' }, 'Sample 3' => { 'occludin' => '34,556', 'claudin' => '32,065', 'actin' => '24,213' }, 'Sample 2' => { 'claudin' => '25,611', 'occludin' => '27,831', 'actin' => '20,416' } };

I am wondering though if you want to right on on top of common keys or you want a more complex data structure like hashes of hashes, read more about it here HASHES OF HASHES.

Hope this helps, BR.

Seeking for Perl wisdom...on the process of learning...not there...yet!