Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Re: Re: Re: Re: Re: multi line matching problem

by Roger (Parson)
on Dec 16, 2003 at 04:08 UTC ( #314960=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Re: Re: multi line matching problem
in thread multi line matching problem

Maybe you already know that if you want to match a whitespace character except '\n', you could use the [^\S\n] idiom. Where \S matches any non-white space character, \n matches the return, and then take the complement of the set gives you \s but not \n. Handy trick in situations when you want to differentiate between whitespace and \n.

my $text = 'hello this is a multiline message'; $text =~ s/([^\S\n]+|\n)/$1 eq "\n" ? print "New line\n" : print "Whitespaces\n"; $1/gemi;
And you get -
New line Whitespaces Whitespaces Whitespaces Whitespaces New line Whitespaces

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://314960]
[Discipulus]: good morning monks and nuns!
[Corion]: Hi Discipulus, Happy-the-monk!
[Corion]: There is demand for an emergency social meeting, as two people from are in Frankfurt on Wednesday - I'll forward the mail in the evening

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2018-07-23 08:14 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (459 votes). Check out past polls.