I'm trying to match a pattern that contains several words but only if the 3rd word doesn't begin with a #. e.g.
sample data....
Status Host Pluto up
Host System Pluto 10.1.4.11
Host System Mars IP 10.1.3.10
Status Host Jupiter down
Host System #neptune IP 10.10.10.10
Disk load Mars imminent
Host System Venus IP 12.1.2.13.14
......
The input data can stretch to thousands of records in random sort order. I need to pick out the records which begin "Host System" but not those where the 3rd word begins with # e.g. from the above sample data I don't want
Host System #neptune IP 10.10.10.10
But I do want
Host System Pluto 10.1.4.11
Host System Mars IP 10.1.3.10
Host System Venus IP 12.1.2.13.14
I tried doing this
if $text =~ /Host System (?!#)/ next;
This didn't work.
How do I get the pattern match to only pick up records where the 3rd field doesn't start with a # ?
bear in mind that the 3rd field can begin with pretty much any character/number