On 2024-10-23 at 12:34:13, Oswald Buddenhagen wrote: > On Wed, Oct 23, 2024 at 12:46:00AM +0000, brian m. carlson wrote: > > In Perl 5.14, released in May 2011, the r modifier was added to the s/// > > operator to allow it to return the modified string instead of modifying > > the string in place. > > > This allows to write nicer, more succinct code in > > several cases, so let's do that here. > > > "several" is a bit of an overstatement. I can rephrase if a v3 is necessary. > > +++ b/gitweb/gitweb.perl > > @@ -1188,7 +1188,7 @@ sub evaluate_and_validate_params { > > - (my $error = $@) =~ s/ at \S+ line \d+.*\n?//; > > + my $error = $@ =~ s/ at \S+ line \d+.*\n?//r; > > > i'm a fan of "excess" parentheses where the syntax relies heavily on > the binding and priority of operators: > > my $error = ($@ =~ s/ at \S+ line \d+.*\n?//r); > > which is arguably semantically clearer than the old idiom, but not shorter. I don't think those are necessary. It's obvious to people who use the s///r idiom what's meant here, and in my experience most Perl code using that idiom doesn't use them. > > @@ -2700,7 +2700,7 @@ sub git_cmd { > > - map { my $a = $_; $a =~ s/(['!])/'\\$1'/g; "'$a'" } @_ ); > > + map { my $a = $_ =~ s/(['!])/'\\$1'/gr; "'$a'" } @_ ); > > > i think > > map { "'".(s/(['!])/'\\$1'/gr)."'" } @_ ); > > should work, and is an actually significant improvement. I'm sorry, I don't necessarily like that much better than what we have now. It's not that I think it's awful, just that I don't think it's a significant improvement. If I do a v3, I can omit the `$_ =~`, though. -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA
Attachment:
signature.asc
Description: PGP signature