Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
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
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?
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 examining the Monastery: (8)
As of 2015-07-30 09:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (270 votes), past polls