Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to match a pattern that contains several words but only if the 3rd word doesn't begin with a #. e.g.
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
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 wantsample 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 ......
But I do wantHost System #neptune IP 10.10.10.10
I tried doing thisHost System Pluto 10.1.4.11 Host System Mars IP 10.1.3.10 Host System Venus IP 12.1.2.13.14
This didn't work.if $text =~ /Host System (?!#)/ next;
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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Pattern problem
by aquarium (Curate) on Jan 27, 2006 at 14:17 UTC | |
by ptum (Priest) on Jan 27, 2006 at 14:23 UTC | |
Re: Pattern problem
by japhy (Canon) on Jan 27, 2006 at 14:35 UTC | |
by Anonymous Monk on Jan 27, 2006 at 14:50 UTC | |
by mikeraz (Friar) on Jan 27, 2006 at 15:32 UTC | |
Re: Pattern problem
by ptum (Priest) on Jan 27, 2006 at 14:18 UTC | |
by mk. (Friar) on Jan 27, 2006 at 14:33 UTC | |
by Mago (Parson) on Jan 27, 2006 at 15:41 UTC | |
Re: Pattern problem
by spadacciniweb (Curate) on Jan 27, 2006 at 14:21 UTC | |
by ikegami (Patriarch) on Jan 27, 2006 at 18:51 UTC |
Back to
Seekers of Perl Wisdom