Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Null scalars in array

by ysth (Canon)
on Sep 20, 2006 at 17:10 UTC ( [id://573949]=note: print w/replies, xml ) Need Help??


in reply to Null scalars in array

The + means match . (any non-\n character) one or more times. Use * instead, which means 0 or more times. You'll still be requiring two spaces between foo and bar; if you have just one, /foo ?(.*) bar/ may do what you want.

Replies are listed 'Best First'.
Re^2: Null scalars in array
by Smaug (Pilgrim) on Sep 20, 2006 at 17:53 UTC
    Ah-ha!!
    Thanks, that's most likely my problem, the "null values" are actually not nulls they are spaces, sometimes 1 but it could be up 10.
    Does this mean the piece of regex will not work?
    Thanks again for the help I don't know how I would cope or avoid killing people without perlmonks.
    Smaug

      Your "nulls" weren't nulls at all. They arn't spaces either. They are just cases where your regex didn't match, so it didn't return anything. + Requires at least one occurence of the thing it is quantifiying. So if you say "A B" =~ /A(.+?)B/ you'll get a hit, because there is at least one thing between the A and B. If you do "AB" =~ /A(.+?)B/ it wont match because there isn't at least one thing between A and B. * however matches 0 or more things, so it would match in both cases.

      use strict; use warnings; print "A-B =~ /A.+B/ --> "; print "worked" if "A-B" =~ /A.+B/; print "\n"; print "A-B =~ /A.*B/ --> "; print "worked" if "A-B" =~ /A.*B/; print "\n"; print "AB =~ /A.+B/ --> "; print "worked" if "AB" =~ /A.+B/; print "\n"; print "AB =~ /A.*B/ --> "; print "worked" if "AB" =~ /A.*B/; print "\n";
      Outputs:
      A-B =~ /A.+B/ --> worked A-B =~ /A.*B/ --> worked AB =~ /A.+B/ --> AB =~ /A.*B/ --> worked

      ___________
      Eric Hodges
      You've confused me now. What is your input and what are your desired and actual outputs?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2024-04-22 00:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found