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

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;');
...gives...
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.

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


Comment on Re: Record Separator affecting Regex
Select or Download Code
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!
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"; }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2014-10-01 07:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (389 votes), past polls