JohnLucania
Programmer
I am seeing two issues:
1) the 1st entry doesn't get any regexp checked.
Enter Number: 100
2) regexps are not matching correctly.
Enter Number or 'exit' to exit: 100
100 is a whole number
100 is an integer
100 is a +/- integer
100 is a real number
100 is a decimal number
100 a C float
Enter Number or 'exit' to exit: 1.3
1.3 has nondigits
1.3 is a real number
1.3 is a decimal number
1.3 a C float
Enter Number or 'exit' to exit: -110.02
-110.02 has nondigits
-110.02 is a real number
-110.02 is a decimal number
-110.02 a C float
why is that?
#! /usr/bin/perl
use warnings;
use strict;
my $YourNumber;
print "Enter Number: ";
chomp($YourNumber = <STDIN>);
while ($YourNumber ne 'exit') {
print "Enter Number or 'exit' to exit: ";
chomp($YourNumber = <STDIN>);
if ( $YourNumber eq 'exit') {
print "Bye Bye!";
exit 1;
}
if ($YourNumber =~ /\D/)
{ print "$YourNumber has nondigits\n" };
if ($YourNumber =~ /^\d+$/)
{ print "$YourNumber is a whole number\n" };
if ($YourNumber =~ /^-?\d+$/)
{ print "$YourNumber is an integer\n" };
if ($YourNumber =~ /^[+-]?\d+$/)
{ print "$YourNumber is a +/- integer\n" };
if ($YourNumber =~ /^-?\d+\.?\d*$/)
{ print "$YourNumber is a real number\n" };
if ($YourNumber =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/)
{ print "$YourNumber is a decimal number\n" };
if ($YourNumber =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
{ print "$YourNumber a C float\n" };
}
1) the 1st entry doesn't get any regexp checked.
Enter Number: 100
2) regexps are not matching correctly.
Enter Number or 'exit' to exit: 100
100 is a whole number
100 is an integer
100 is a +/- integer
100 is a real number
100 is a decimal number
100 a C float
Enter Number or 'exit' to exit: 1.3
1.3 has nondigits
1.3 is a real number
1.3 is a decimal number
1.3 a C float
Enter Number or 'exit' to exit: -110.02
-110.02 has nondigits
-110.02 is a real number
-110.02 is a decimal number
-110.02 a C float
why is that?
#! /usr/bin/perl
use warnings;
use strict;
my $YourNumber;
print "Enter Number: ";
chomp($YourNumber = <STDIN>);
while ($YourNumber ne 'exit') {
print "Enter Number or 'exit' to exit: ";
chomp($YourNumber = <STDIN>);
if ( $YourNumber eq 'exit') {
print "Bye Bye!";
exit 1;
}
if ($YourNumber =~ /\D/)
{ print "$YourNumber has nondigits\n" };
if ($YourNumber =~ /^\d+$/)
{ print "$YourNumber is a whole number\n" };
if ($YourNumber =~ /^-?\d+$/)
{ print "$YourNumber is an integer\n" };
if ($YourNumber =~ /^[+-]?\d+$/)
{ print "$YourNumber is a +/- integer\n" };
if ($YourNumber =~ /^-?\d+\.?\d*$/)
{ print "$YourNumber is a real number\n" };
if ($YourNumber =~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/)
{ print "$YourNumber is a decimal number\n" };
if ($YourNumber =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
{ print "$YourNumber a C float\n" };
}