On Sun, 19 Jun 2005, MEENA SELVAM wrote:

> can anyone please explain?

See `perldoc perlre`, or `man perlre`, or a book like _Learning Perl_ or 
_Mastering Regular Expressions_ for this kind of thing.

It's really an introductory question that any decent introductory text 
should be able to cover for you.

But, that said...
 
> In the following code snippet, what is the meaning of
> the pattern match
> s/^.*\///

The s/// is the substitution operator. It takes whatever is in the first 
half and replaces it with whatever is in the second half. 

In this case, the first half is the following pattern:

    /^.*\//

Or, stripped of the forward-slashes that delimit the pattern:

    ^.*\/

This means to match...

   ^   the start of the textt
   .   a single character (basically, see references above for details)
   *   zero or more of that which precedes 
   \   an escape character; nullifies the special meaning of that which 
       comes immediately afterward
   /   a forward-slash

Thus, it matches from the start of the string, matching anything at all 
(including nothing) from there to a '/' character. Because the match is 
being done greedily, if there are several '/' characters, it will match 
from the beginning up until the last foward-slash.

The second half of the substitution is:

    //

Or, stripped of the forward-slashes that delimit the pattern:                   
          



That is, nothing at all. 

Thus, whenever the pattern in the first half is detected, it is deleted.

Thus, since you're dealing with the program name (from $0), this code 
strips out the path information, leaving only the name of the program 
itself. Something like "/usr/local/bin/my_script.pl" will be reduced to 
simply "my_script.pl".


Beyond this though, you really ought to be looking over some tutorials 
such as _Learning Perl_. They can do a very good job of answering all 
kinds of questions like this.



-- 
Chris Devers

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to