http://www.perlmonks.org?node_id=118869


in reply to Extract numbers in multiple bases

By changing your rules a bit (since you aren't 100% on all of them are they under your control?) can't you just use string eval to let the perl interpreter apply its own rules?
my $str = "123e4"; print asNum( $str ); sub asNum { my $str = shift; my $foo; eval "\$foo = $str"; # backslash for string not reference if( $@ ) { warn( "oops : $@" ); } return $str; }
Ugly, but probably 'rock-solid', no esoteric modules and should work with any perl.

Replies are listed 'Best First'.
Re: Re: Extract numbers in multiple bases
by tachyon (Chancellor) on Oct 30, 2001 at 18:25 UTC

    That should be return $foo - this won't deal with several of the specified cases like h and t suffixes but it is clever nonetheless :-)

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print