in reply to Re: use of uninitialized value in array
in thread use of uninitialized value in array

$a is definitely going beyond the end of @hfr. Use < instead of <= in the loop test to avoid this.

Oh, and don't use $a as a variable name. Nor $b for that matter.

Update: For some reason I had missed that Cristoforo had already mentioned this. Sorry for the waste of bandwidth.