NAME
PPI::Token::Number - Token class for a number
SYNOPSIS
$n = 1234; # decimal integer
$n = 0b1110011; # binary integer
$n = 01234; # octal integer
$n = 0x1234; # hexadecimal integer
$n = 12.34e-56; # exponential notation ( currently not working )
INHERITANCE
PPI::Token::Number
isa PPI::Token
isa PPI::Element
DESCRIPTION
The PPI::Token::Number
class is used for tokens that represent numbers, in the various types that Perl supports.
METHODS
base
The base
method is provided by all of the ::Number subclasses. This is 10 for decimal, 16 for hexadecimal, 2 for binary, etc.
literal
Return the numeric value of this token.
CAVEATS
Compared to Perl, the number tokenizer is too liberal about allowing underscores anywhere. For example, the following is a syntax error in Perl, but is allowed in PPI:
0_b10
TO DO
- Treat v-strings as binary strings or barewords, not as "base-256" numbers
- Break out decimal integers into their own subclass?
- Implement literal()
SUPPORT
See the support section in the main module.
AUTHOR
Adam Kennedy <adamk@cpan.org>
COPYRIGHT
Copyright 2001 - 2009 Adam Kennedy.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.