Works – but has a problem

It works, but I noticed a problem where it got stuck reporting a problem when there was none.

I line 446 it says:
if ($NoAPs lt $NoAPs_old)
This is a string comparison and iterates incorrectly when e.g. NoAPs_old100

I believe the correct syntax should be:
if ($NoAPs I might have it all wrong.