On Thursday, March 17, 2016 at 11:24:00 PM UTC+5:30, BartC wrote: > On 17/03/2016 17:25, Charles T. Smith wrote: > > On Thu, 17 Mar 2016 19:08:58 +0200, Marko Rauhamaa wrote: > > >> my $str = "I have a dream"; > >> my $find = "have"; > >> my $replace = "had"; > >> $find = quotemeta $find; # escape regex metachars if present > >> $str =~ s/$find/$replace/g; > >> print $str; > >> > >> with Python: > >> > >> print("I have a dream".replace("have", "had")) > > > Uh... that perl is way over my head. I admit though, that perl's > > powerful substitute command is also clumsy. The best I can do > > right now is: > > > > $v = "I have a dream\n"; > > $v =~ s/have/had/; > > print $v > > I was going to suggest just using a function. But never having coded in > Perl before, I wasn't expecting something this ugly: > > sub replacewith{ > $s = $_[0]; > $t = $_[1]; > $u = $_[2];
I think [untested] you can shorten those 3 lines to: ($s, $t, $u) = @_ ; > $s =~ s/$t/$u/; > return $s; > } -- https://mail.python.org/mailman/listinfo/python-list