Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Replacing single quotes to two single quotes inside map

by duff (Parson)
on Nov 10, 2017 at 21:22 UTC ( [id://1203140]=note: print w/replies, xml ) Need Help??


in reply to Replacing single quotes to two single quotes inside map

Assuming you don't mind changing $data->{$_} directly (rather than making a copy) ...

my $sql = exec_select( "call store_proc(" . join(',', ('?') x @allparm +s ) . ")", map { $data->{$_} =~ s/'/''/g; $data->{ $_ } | +| '' } @allparms );

Replies are listed 'Best First'.
Re^2: Replacing single quotes to two single quotes inside map
by Anonymous Monk on Nov 10, 2017 at 21:24 UTC
    Could you explain the pros and cons about changing $data->{$_} rather than making a copy of it?

      The pros/cons are mostly about whether or not you need the original values of $data->{$_} elsewhere since the substitution operation will change the value in-place. If you require the original value prior to the change elsewhere in your code, then clearly you don't want to change them. tybalt89 gave a similar version where the value is returned and not changed, but it requires a relatively recent perl (>= 5.14). I didn't notice if you mentioned a perl version, but some unfortunate people are still on 5.10.1 and such.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1203140]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-25 07:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found