in reply to use of uninitialized value in array
for($a=0;$a<=scalar(@hfr);$a++)That should be:
for($a=0;$a<scalar(@hfr);$a++)And you could also leave out the scalar because the @hfr array is being used in a scalar context and doesn't need to be cast explicitly to scalar.
There seem to be some other problems as well.
my @matching_indices=indexes {$hfr[$a]}@gl;I think this should be
my @matching_indices=indexes {$hfr[$a]eq $_}@gl;I'm not sure the other statements will give the result you want. For example, print "$matching_indices[$a]"; is using the loop index and most likely index beyond the bounds of the array, also a possible source of the 'use of uninitialized value in array' warning.
|
|---|