in reply to pipe issue (linux)

If your /var/log/messages is infrequently updated, it may appear that your "dispatcher" script does not produce output.

Try adding "tail => 5" to the File::Tail constructor - this will make it behave more like the linux "tail" command, and immediately produce 5 lines of output (default is 0).

Try moving the Ping constructor outside the loop.

Why not combine the scripts, since they seem inter-dependent.

On my system, the DHCPACK line looks like this :

May 5 11:19:59 MyHostName dhcpd: DHCPACK on 192.168.0.94 to 00:50:56: +ab:42:51 (localhost) via eth1
so, your regex-scanner is very dependent on the syntax produced. Double check that it matches the lines generated by your DHCP server.

        This is not an optical illusion, it just looks like one.