NAME
    Number::Base::DWIM - delay parsing of based constants as long as
    possible.

SYNOPSIS
        use Numbers::Base::DWIM

        my $x = 011;
        print $x, "\n";  # prints 9
        print "$x\n";    # prints 011

        print oct($x)    # prints 011

DESCRIPTION
    This module will delay parsing of based numeric constants (0b010101,
    0655, 0xff) until the last possible moment. This means that if you use
    the constant as a string, then it will evaluate to the same form that
    the constant was declared in.

    This module was developed after an discussion where some people found
    the behavior of "perl -e 'print oct 011, "\n";'" to be confusing. This
    module works around this by overloading the parsing of binary,
    hexidecimal and octal numeric constants. It then stores them in a
    "dualvar", as provided by Scalar::Util.

NOTES
    Originally this was implemented as a class, and the overload function
    returned an object with numification and stringification methods. Thanks
    to Brian D. Foy for suggesting that it use "dualvar" instead.

BUGS
    Due to a bug in overload, constants inside of and "eval '...'" won't be
    handled specially.

AUTHOR
    Clayton O'Neill <CMO@cpan.org>

COPYRIGHT
    Copyright (c) 2006 by Clayton O'Neill

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.