PPI::Token::Number(3) User Contributed Perl Documentation PPI::Token::Number(3)

# [NAME](#NAME)

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

# [SYNOPSIS](#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](#INHERITANCE)

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

# [DESCRIPTION](#DESCRIPTION)

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

# [METHODS](#METHODS)

## [base](#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](#literal)

Return the numeric value of this token.

# [CAVEATS](#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](#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](#SUPPORT)

See the support section in the main module.

# [AUTHOR](#AUTHOR)

Adam Kennedy &lt;adamk@cpan.org&gt;

# [COPYRIGHT](#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.

2026-10-25 perl v5.44.0

---

Document: PPI::Token::Number(3pm) from perl-ppi 1.291-r2 (Chainguard OS)
Source: https://github.com/Perl-Critic/PPI
