in reply to Re^2: way of declare an integer variable instead use /^\d+$/
in thread way of declare an integer variable instead use /^\d+$/

It probably does not matter if the O/0 error is in the original .pdf file or if the OCR misreads it. The tr operator (refer tr/SEARCHLIST/REPLACEMENTLIST/cdsr) directly corrects the problem. Your test for a reasonable value is probably a good idea, but it really has nothing to do with the O/0 problem.
my ($text, $page) = split "\t", $line; $page =~ tr/O/0/ and warn "Replaced 'O' with '0' in page $page";
Bill