>perl -wMstrict -le "$_ = qq{chr16\t28797601\t-\t0.777877}; my %site_info; ;; my @arr = split(/\t/,$_,4); $arr[0] = substr($arr[0], 3); $site_info{$arr[0]}{$arr[1]}{'strand'} = $arr[2]; $site_info{$arr[0]{$arr[1]}}{'value'} = $arr[3]; " Can't use string ("16") as a HASH ref while "strict refs" in use at ... #### >perl -wMstrict -le "use Data::Dump qw(dd); ;; $_ = qq{chr16\t28797601\t-\t0.777877}; my %site_info; ;; my @arr = split(/\t/,$_,4); $arr[0] = substr($arr[0], 3); $site_info{$arr[0]}{$arr[1]}{'strand'} = $arr[2]; $site_info{$arr[0]}{$arr[1]}{'value'} = $arr[3]; ;; dd \%site_info; " { 16 => { 28797601 => { strand => "-", value => 0.777877 } } } #### >perl -wMstrict -le "use Data::Dump qw(dd); ;; $_ = qq{chr16\t28797601\t-\t0.777877}; my %site_info; ;; my @arr = split(/\t/,$_,4); $arr[0] = substr($arr[0], 3); ;; my $current = $site_info{$arr[0]}{$arr[1]} = {}; $current->{'strand'} = $arr[2]; $current->{'value'} = $arr[3]; ;; dd \%site_info; " { 16 => { 28797601 => { strand => "-", value => 0.777877 } } } #### >perl -wMstrict -le "use Data::Dump qw(dd); ;; $_ = qq{chr16\t28797601\t-\t0.777877}; my %site_info; ;; my @arr = split(/\t/,$_,4); $arr[0] = substr($arr[0], 3); ;; @{ $site_info{$arr[0]}{$arr[1]} }{ qw(strand value) } = @arr[2, 3]; ;; dd \%site_info; " { 16 => { 28797601 => { strand => "-", value => 0.777877 } } }