summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2003-12-09 21:22:40 +0100
committerKevin Ryde <user42@zip.com.au>2003-12-09 21:22:40 +0100
commit825300f88084fbce258914610b9fd35258678716 (patch)
tree4f02b8256a7c2d740a6da30cb2182310ce525b82 /demos
parent64c4798a952ce5281b39822eef43203240428c50 (diff)
downloadgmp-825300f88084fbce258914610b9fd35258678716.tar.gz
* demos/perl/GMP/Mpf.pm (overload_string): Corrections to $# usage.
Diffstat (limited to 'demos')
-rw-r--r--demos/perl/GMP/Mpf.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/demos/perl/GMP/Mpf.pm b/demos/perl/GMP/Mpf.pm
index 308457bd5..efa0a0a7b 100644
--- a/demos/perl/GMP/Mpf.pm
+++ b/demos/perl/GMP/Mpf.pm
@@ -73,15 +73,18 @@ sub import {
sub overload_string {
my $fmt;
- if (! defined $OFMT) {
- $fmt = '%.Fg';
- } else {
+ no warnings;
+ if (defined ($#)) {
+ $fmt = $#;
+ use warnings;
# protect against calling sprintf_internal with a bad format
- if ($OFMT !~ /^(%%|[^%])*%[-+ .\d]*[eEfgG](%%|[^%])*$/) {
- die "GMP::Mpf: invalid \$# format: $OFMT\n";
+ if ($fmt !~ /^((%%|[^%])*%[-+ .\d]*)([eEfgG](%%|[^%])*)$/) {
+ die "GMP::Mpf: invalid \$# format: $#\n";
}
- $fmt = $OFMT;
- $fmt =~ s/(.)$/F$1/;
+ $fmt = $1 . 'F' . $3;
+ } else {
+ use warnings;
+ $fmt = '%.Fg';
}
GMP::sprintf_internal ($fmt, $_[0]);
}