my @a; while(){ chomp; /^([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t/; if($2 eq $c){ push(@a,[$3,($3 eq '+')?($4):($5)]); } } close INA; foreach (@a){ my $la = $_->[1]+$optTSS; my $lb = $_->[1]-$optTSS; print "$la,$lb\n"; # it prints $la,$lb here for(my $i =$la; $i <=$lb;$i++){ # loop is skipped no printing print "$la,$lb,$i"; }; print ">\n"; }