Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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]
[stevieb]: use metamod::DateTime. Don't fsck around. Seriously. As someone who's done sensitive date/time stuff, don't roll your own. Use what is available and known stable. Do not guess.
[stevieb]: Date::Time even
[stevieb]: ffs I can't make DateTime link properly, so there.

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2017-04-29 04:19 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (531 votes). Check out past polls.