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

Re^2: Regexp in mysqldump

by clueless newbie (Chaplain)
on Apr 16, 2010 at 16:02 UTC ( #835153=note: print w/replies, xml ) Need Help??


in reply to Re: Regexp in mysqldump
in thread Regexp in mysqldump

Ignore the above! Try the following instead
#! use Smart::Comments; use strict; use warnings; my $sql=<<"__SQL__"; /* comment! */ create table `table name`( # another comment! `field name1` type1 not null default 'x has a blank or two', `field name2` type2 default null, # ... primary key (`pk name`), key `key name` (`field name1`, `field name2`) ) engine=other things here; __SQL__ my $RegExp_s=qr{( (`(?:[^`]|\`)*?`) # backticked string |(?:\/\*.*?\*\/) # /* */ comments |(?:'(?:[^']|\')*?') # single quoted strings |(?:"(?:[^"]|\")*?") # qouble quoted strings |(?m:\#.+?$) # single line # trailing comments )}sx; #' # . includes \n ### $sql $sql =~ s{$RegExp_s}{defined $2 ? TreatBackTickedString($2) : $1}eg; ### $sql sub TreatBackTickedString { # Jest Fur Phun: return substr($_[0],0,-1).substr($_[0],1); }; __END__