logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PPI::Token::Number - Token class for a number

Author

       Adam Kennedy <adamk@cpan.org>

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

Description

       The "PPI::Token::Number" class is used for tokens that represent numbers, in the various types that Perl
       supports.

Inheritance

         PPI::Token::Number
         isa PPI::Token
             isa PPI::Element

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.

Name

       PPI::Token::Number - Token class for a number

Support

       See the support section in the main module.

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 )

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()

See Also