I replied to the other thread before I saw the double post (my answer was confused, to boot). But, I figured I'd use this as a good time to learn about lookaheads:
my @lines = ( q(String),
q(I have a String),
q(I have a String and a .c),
q(I have a String.c),
q(String.O) );
foreach (@lines) {
#Look for String, not followed by .c, .o
next unless /String(?![.][coCO])/;
print $_ . "\n";
}
Output:
String
I have a String
I have a String and a .c
I have to get less lazy about learning new facets of Perl, it is always much less painful/time-consuming to get a grasp of the basics than I think it is going to be. |