Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Reg Ex exercise

by Athanasius (Chancellor)
on Dec 05, 2012 at 16:28 UTC ( #1007325=note: print w/replies, xml ) Need Help??

in reply to Reg Ex exercise

#! perl use Modern::Perl; while (<DATA>) { chomp; if (/ ^ (?: (?: -? \d+) | (?: -? \d+ \. \d+)) $ /x) { say 'Yes, ', $_, ' is a number'; } else { say 'No, ', $_, ' is not a number'; } } __DATA__ 4 -7 0.656 -67.35555 5. 56F .32 -.04


2:17 >perl Yes, 4 is a number Yes, -7 is a number Yes, 0.656 is a number Yes, -67.35555 is a number No, 5. is not a number No, 56F is not a number No, .32 is not a number No, -.04 is not a number 2:17 >

Some notes:

  • | is bitwise-OR outside a regex, and alternation in a regex. For logical OR, use || (or or).

  • Within a regex, a dot matches any character. To match the decimal point, you need to escape it: “\.”.

  • Prefer chomp to chop — the former removes a line-termination if present, the latter removes the last character regardless.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1007325]
and the monks are chillaxin'...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2018-06-18 16:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.