#!/usr/bin/perl use strict; use Config; # check architecture and die if not as expected $Config{nvtype} eq "double" && $Config{doublesize} == 8 && $Config{ivtype} eq "long" && $Config{longsize} == 8 or die "not compatibile perl"; my $a = "-000123.456000"; # format good or die $a =~ /\G([-+]?(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?)/gc or die "not a nu +mber"; my $n = $1; # max length is 15, because architecure is such... convert string to n +umber length $n <= 15 + 2 or die "number too long"; $n = 0 + $n; # check if number fits within 15 digits abs $n > 99999999999999.9 and die "number out of range"; print "$a ---> $n is OK\n"; .... root@orion:~# perl /tmp/aaaa -000123.456000 ---> -123.456 is OK
In reply to Re: Reliably parsing an integer
by leszekdubiel
in thread Reliably parsing an integer
by rdiez
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |