#! C:/Perl/bin/perl use strict; use warnings; my $file_ref =[ [ 'Non-Syn', 'Splice', 'dbSNP', 'N (Var Depth)', 'N Total Depth', 'N Freq', 'T (Var Depth)', ], [ qw( 1 0 0 0 34 0 11 )], [ qw( 1 0 0 0 54 0 14 )], [ qw( 1 0 0 0 42 0 11 )], ]; my $header_hash_ref = _load_header( $file_ref->[0] ); my $line = 3; my $header = 'N Total Depth'; print "Line -$line- '$header' value is:" . $file_ref->[$line]->[$header_hash_ref->{$header}] . "\n"; sub _load_header{ my ( $header_ref ) = @_; my ( $return, $x ) = ( {}, 0 ); for my $header ( @$header_ref ){ $return->{$header} = $x++; } return $return; }