Doctor Bob
Linux Topic
Search

 
TOURBUS
HOME PAGE
SAVVY
CONSUMER
FREE TECH
SUPPORT

PERL PROGRAMMING

How Does Perl Pattern Matching Work?

One mystery remains: What's this (/^#/) stuff all about? Remember the grep command, and the discussion of regular expressions? If you think about it, the little Perl program in the previous example acts a lot like grep, since it sifts through each line and prints it if a pattern is matched.
In Perl, the forward slashes indicate that a pattern match is to be performed. The regular expression inside the slashes defines the search pattern, and $_ is the variable that the search is performed on. In our case, the ^# inside the slashes means to match only lines that begin with the pound sign.

So if we make the previous example a bit more generic, allowing it to get the search pattern and file name from the command line, it will behave almost exactly like the grep utility:

open MYFILE, $ARGV[1] or die "Can't open $ARGV[1]: $! \n";
while (<MYFILE>) {
if (/$ARGV[0]/) { print "MATCH: $_"; }
}

Learn More about Perl

We've barely scratched the surface of what you can do with the Perl language. Try the man perl command to get more information on Perl, read Programming Perl by Larry Wall (O'Reilly & Associates), the inventor of the Perl language, or visit the Perl Institute Web site at http://www.perl.org.

Previous Lesson: Perl and Files
Next Lesson: Sending Email

[ RETURN TO INDEX ]




Ask Bob Rankin - Free Tech Support
<Send This Link to a Friend>         <Help>         <Bookmark This Page>


Copyright © by Bob Rankin
All rights reserved - Redistribution is allowed only with permission.