Your only matching on the first occurrence.  Add a 'g' modifier to it to
make it repeat the substitution for the entire string.

$str =~ s/\//\_/g;

-Dgg

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Parvez Pathan
Sent: Wednesday, March 17, 2004 11:00 PM
To: perllist
Subject: [Perl-unix-users] Greedy Matching



Hi All,

  I am having a small doubt with the greedy pattern matching of Perl. We
all know that Perl will try to match as many times as it can. But I am
not getting the correct results. Please let me know if I am making a
mistake.

<CODE>
my $str = "/var/tmp/test/stuff";

## replace 'test/stuff' to 'test_stuff'

$str =~ s/\//\_/;

print $str,"\n";

</CODE>

But this gives me the result as
          "_var/tmp/test/stuff"

Can anybody tell me what is wrong?


Regards,
Parvez





____________________________________________________________
Find what you are looking for with the Lycos Yellow Pages
http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default
.asp?SRC=lycos10
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to