Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

regex matches when it seems that it shouldn't

by Lotus1 (Vicar)
on Apr 21, 2021 at 18:46 UTC ( [id://11131541]=perlquestion: print w/replies, xml ) Need Help??

Lotus1 has asked for the wisdom of the Perl Monks concerning the following question:

I'm preparing to present an intro to Perl for some coworkers so I'm glad I found this problem before presenting. The regex in line 10 matches when it shouldn't. I had to stare at it for a while before figuring it out. I'm posting here to give the newbies or anyone else a chance to debug a silly problem.

use warnings; use strict; $_ =''; # find empty lines. print " - empty line\n" if /^$/; # find lines that contain one or more whitespace characters. print " - contains whitespace 1\n" if m/^\s+$/ =~ $_; ## line 10 print " - contains whitespace 2\n" if m/^\s+$/;

Running deparse on the script makes it obvious:

>perl -MO=Deparse test.pl use warnings; use strict; $_ = ''; print " - empty line\n" if /^$/; print " - contains whitespace 1\n" if /^\s+$/ =~ /$_/; print " - contains whitespace 2\n" if /^\s+$/; 07_test.pl syntax OK

Replies are listed 'Best First'.
Re: regex matches when it seems that it shouldn't
by Discipulus (Canon) on Apr 21, 2021 at 20:30 UTC
    Hello Lotus1

    Is $_ wrong placed even if it is right placed?    :)

    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
      Is $_ wrong placed even if it is right placed?

      Yes. That is a good way to phrase it!

        odd place for $_ even if right place     :)

        L*

        There are no rules, there are no thumbs..
        Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (2)
As of 2024-04-19 19:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found