#!c:\perl\bin\perl.exe use strict; use warnings; my @lane01_1 = (200900..202543); my @lane01_2 = (202544..204187); my @lane01_3 = (204188..205831); my @lane01_4 = (205832..207475); my @lane01_5 = (207476..210119); my @lane01_6 = (210120..211763); my @lane01_7 = (211764..213407); my @lane01_8 = (213408..215051); my $arrayref; my $buildvar; my $vector = 209456; my $found = 0; while(! $found) { $buildvar = "\\\@" . "lane01_" . $i; $arrayref = eval($buildvar); if(! defined @$arrayref) { print("vector: $vector not found\n"); last; } for(my $j = 0; $j < (scalar(@$arrayref)); $j++) { if($$arrayref[$j] == $vector) { print("lane # is $i\n"); $found = 1; } } $i++; } OUTPUT: lane # is 5 #### for (my $i = 1; $i <= 8; $i++) { $buildvar = "\\\@" . "lane01_" . $i; $arrayref = eval($buildvar); for(my $j = 0; $j < (scalar(@$arrayref)); $j++) { if($$arrayref[$j] == $vector) { print("lane # is $i\n"); } } }