perl -E '
use Scalar::Util "looks_like_number";
for (qw{Inf -Inf Infinity -Infinity}) {
say "$_: ", looks_like_number($_) ? 1 : 0;
}
'
Inf: 1
-Inf: 1
Infinity: 1
-Infinity: 1
####
perl -E '
use Scalar::Util "looks_like_number";
for (qw{1 0b10 0o10 0x10}) {
say "$_: ", looks_like_number($_) ? 1 : 0
}
'
1: 1
0b10: 0
0o10: 0
0x10: 0
####
perl -E '
use Scalar::Util "looks_like_number";
for (1, 0b10, 0o10, 0x10) {
say "$_: ", looks_like_number($_) ? 1 : 0
}
'
1: 1
2: 1
8: 1
16: 1
####
sub IsNumber {
state $re = qr{...};
return $_[0] =~ $re;
}
####
{
my $re; BEGIN { $re = qr{...} }
sub IsNumber {
return $_[0] =~ $re;
}
}
####
$ perl -E 'say 1e6'
1000000
####
$ perl -E 'say 1_000_000/1_000'
1000