Unless I'm mistaken, it appears that what you're trying to do can be solved with a fairly simple regular expression. Unless you actually need the index, try:
if($page =~ m/\bword\b\s+.{4}(\d{5})/)
{
print "The number is $1";
}
else
{
print "No match";
}
From left-to-right, the expression states:
\bword\b - Find the text 'word'
\s+ - Followed by one or more whitespace characters
.{4} - Followed by any four characters
(\d{5}) - Followed by five digits
The parenthesis around the '\d{5}' instruct perl to store this match in the variable $1 (for the purposes of this discussion). So the matched digits are stored in $1.