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.
Outputs: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";
A-B =~ /A.+B/ --> worked A-B =~ /A.*B/ --> worked AB =~ /A.+B/ --> AB =~ /A.*B/ --> worked
In reply to Re^3: Null scalars in array
by eric256
in thread Null scalars in array
by Smaug
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |