perl.beginners
[Top] [All Lists]

Re: Regular expression: How to determine wether entry is a number?

Subject: Re: Regular expression: How to determine wether entry is a number?
From: myklass@xxxxxxxxx (Aruna Goke)
Date: Tue, 29 Jul 2008 17:21:22 +0100
Newsgroups: perl.beginners


Jan-Henrik wrote:
Dear Group,

I'm new to Perl and I have a simple question:

I ask for the entry of a number vie <STDIN>:

----------------------------------------
#!/usr/bin/perl -w
use strict;

my $foo;
print "Enter number: ";
$foo = <STDIN>;
comp($foo);
----------------------------------------

Now I would like to check wether the user really entered a number and
not letters. What would a check like that look like? A regular
expression like this:
----------------------------------------
unless ($foo =~ /[a-zA-Z\D+][^.][\D*]/ {...};
----------------------------------------

Is there an easier or more beautiful way?

Also, how would I substract just a number from a string? Searched the
net for an example but didn't succeed, so sorry for asking a question
like that...

Many thanks for your help!

Kind regards,

Jan-Henrik



#!/usr/bin/perl

use warnings;
use strict;

my $foo;
my $num = 3;
print "Enter number: ";
$foo = <STDIN>;
chomp($foo);

print $foo - $num unless $foo =~ /[a-zA-Z]+/;

<Prev in Thread] Current Thread [Next in Thread>