Adam Kennedy > PPI-1.206 > PPI::Token::Number::Version

Download:
PPI-1.206.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  40
Open  29
View Bugs
Report a bug
Module Version: 1.206   Source   Latest Release: PPI-1.207_01

NAME ^

PPI::Token::Number::Version - Token class for a byte-packed number

SYNOPSIS ^

  $n = 1.1.0;
  $n = 127.0.0.1;
  $n = 10_000.10_000.10_000;
  $n = v1.2.3.4

INHERITANCE ^

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

DESCRIPTION ^

The PPI::Token::Number::Version class is used for tokens that have multiple decimal points. In truth, these aren't treated like numbers at all by Perl, but they look like numbers to a parser.

METHODS ^

base

Returns the base for the number: 256.

literal

Return the numeric value of this token.

my $doc1 = new_ok( 'PPI::Document' => [ \'1.2.3.4' ] ); my $doc2 = new_ok( 'PPI::Document' => [ \'v1.2.3.4' ] ); isa_ok( $doc1->child(0), 'PPI::Statement' ); isa_ok( $doc2->child(0), 'PPI::Statement' ); isa_ok( $doc1->child(0)->child(0), 'PPI::Token::Number::Version' ); isa_ok( $doc2->child(0)->child(0), 'PPI::Token::Number::Version' );

my $literal1 = $doc1->child(0)->child(0)->literal; my $literal2 = $doc2->child(0)->child(0)->literal; is( length($literal1), 4, 'The literal length of doc1 is 4' ); is( length($literal2), 4, 'The literal length of doc1 is 4' ); is( $literal1, $literal2, 'Literals match for 1.2.3.4 vs v1.2.3.4' );

BUGS ^

- Does not handle leading minus sign correctly. Should translate to a DashedWord. See http://perlmonks.org/?node_id=574573

  -95.0.1.0  --> "-_\000\cA\000"
  -96.0.1.0  --> Argument "`\0^A\0" isn't numeric in negation (-)

SUPPORT ^

See the support section in the main module.

AUTHOR ^

Chris Dolan <cdolan@cpan.org>

COPYRIGHT ^

Copyright 2006 Chris Dolan.

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.