Perl

Moderators: Jonathan
Number of threads: 1257
Number of posts: 3636

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Using regular expression in perl Posted by Applellial on 13 Apr 2011 at 12:57 AM
Hello Guys,

Sorry, I am not sure if this thread belongs here.
I am new to perl and writing a regex for identifying if the user input lies in the set [0,100), i.e. the number must lie between 0-100, 0 included. It can be of form 0.000001, .00001, 90, 90.999153263, .12 etc
Following is the regex I wrote: $input =~ /\d\d?\.\d+|(\d\d?|\.\d+)/, but I am not gettinh the result. Can someone help me in this? Thanks in advance.
Report
Re: Using regular expression in perl Posted by Trizen on 4 Nov 2011 at 3:09 AM
A powerful way of doing this is

my $number = 0.4e2;

if ($number =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/) {
#   my $number = eval $&;     # I don't know if you really need this
    if ($number >= 0 and $number <= 100) {
        print "$number is >= 0 but <= 100\n";
    }
    else {
        print "$number is NOT between 0 and 100\n";
    }
}
else {
    print "Invalid number input: $number\n";
}


or a simpler way:

my $number = 52.9923;
if ($number >= 0 and $number <= 100) {
    print "$number is >= 0 but <= 100\n";
}
else {
    print "$number is not between 0 and 100\n";
}


You can remove '=' sign from 'greater/lower' signs if don't want to include 0 and 100.




 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.