use Perl6::Rules; grammar P6G_IsNumeric { rule oporm { <[+-]>? } rule fixed { + \.? * | * \.? + } rule scino { <[eE]> + | | + } } sub is_scino { my $num = shift; if ($num =~ m/^$/) { $num = $num + 0; # is this really necessary? return $num; } return undef; } sub is_fixed { my $num = shift; if ($num =~ m/^$/) { $num = $num + 0; return $num; } return undef; }