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