Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Lord Purple
Mar 7, 2006

Remove your eyes...
I am writing a quick perl script to find all instances of "size" in a file and then delete that line. The problem is my regular expression also catches other lines where it has "size" but inside another word. For example, I want it to get rid of the line "Size: 4234" but not "Install-Size: 34234".
Here is the code I have been working on:
code:
open(infile,"generic");
open(outfile,"<genericNew");
while(<infile>)
{
	if($_ !~ /(size)/i)
	{
		print outfile "$_";
	}
	
}
close(infile);
close(outfile);
Is there anyway I can catch one with a regular expression and not the other?

Adbot
ADBOT LOVES YOU

Lord Purple
Mar 7, 2006

Remove your eyes...

Sartak posted:

But that matches "Install-Size: 34234" which he doesn't want to be matched. I'd say a combination:
code:
if ($text =~ /(^|\s)size\b/i)

Thanks, that one seemed to do the trick.

  • Locked thread