Christian Walde > PPI-1.218 > PPI::Token::Number

Download:
PPI-1.218.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 1.218   Source  

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 - 2011 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.

syntax highlighting: