Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Record Separator affecting Regex

by Bird (Pilgrim)
on Nov 07, 2002 at 19:09 UTC ( #211187=note: print w/replies, xml ) Need Help??

in reply to Record Separator affecting Regex

I think what you're looking for is the /m modifier. This allows ^ and $ to match newlines in multiline data. Since it appears you need to worry about multiline queries (otherwise, why are you modifying the record separator in the first place), I changed your data to include one.

$/ = ";\n"; while (my $line = <DATA> ){ $line =~ s/^#[^\r\n]*//mg; print "Query: $line\n"; } __DATA__ # one comment # two comment # another comment insert into table_name values(1, 'testing 1 2 3'); # more comments insert into table_name values (2, 'test &#149;');
Query: insert into table_name values(1, 'testing 1 2 3'); Query: insert into table_name values (2, 'test &#149;');

You could also add $line =~ s/^\s*$//mg; if you want to get rid of some of those blank lines.

Update: I like insensate's solution for removing the blank lines better. Use that one. :)

Replies are listed 'Best First'.
Re: Re: Record Separator affecting Regex
by jdporter (Canon) on Nov 07, 2002 at 19:41 UTC
    Yeah, I think you have the right idea here, Bird. Better than mine, under the circumstances.

    I'd probably rework it as follows, to get rid of all that extra leading whitespace:

    local $/ = ";\n"; while ( <> ) { s/^#.*$//mg; # kill comments s/^\s+//; # kill all remaining leading whitespace print "Query: $_\n"; }
Re: Re: Record Separator affecting Regex
by Kozz (Friar) on Nov 07, 2002 at 19:26 UTC
    You're absolutely right -- the /m modifier was *exactly* what I needed, and yes, I do have multi-line commands, like create table statements and such. Thanks!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://211187]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2018-05-27 00:14 GMT
Find Nodes?
    Voting Booth?