Я не уверен, нужно ли инструменту командной строки perl загружать весь файл для его обработки, но вы могли бы сделать что-то похожее на это:
<?php
...
$result = system("perl -p -i -e '5\.6\.7\.8' yourfile.txt");
if ($result)
....
else
....
...
?>
Другой вариант - хранить IP-адреса в отдельных файлах на основе первой или второй группы:
# 1.2.txt
1.2.3.4
1.2.3.5
1.2.3.6
...
# 5.6.txt
5.6.7.8
5.6.7.9
5.6.7.10
...
... etc.
Таким образом, вам не обязательно беспокоиться о том, что файлы настолько велики, что вы теряете производительность, загружая весь файл в память.