Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the PPI CPAN distribution.

Report information
The Basics
Id: 27387
Status: resolved
Priority: 0/
Queue: PPI

People
Owner: Nobody in particular
Requestors: welchbi [...] ubs.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: bug parsing package statement
Date: Sat, 2 Jun 2007 07:09:32 -0400 (EDT)
To: bug-PPI [...] rt.cpan.org
From: Bill Welch <welchbi [...] ubs.com>
When parsing a package statment where the package path happens to have a component that begins with a numeral, PPI works differntly from perl. See example.
#!/usr/bin/env perl use PPI; use Data::Dumper; use strict; ########## my $pkg = <<EOP; package PPIbug::12_5::Dummy; print "Found and loaded PPIbug::12_5::Dummy just fine\n"; 1; EOP my $doc = PPI::Document->new(\$pkg); print Dumper($doc); ########## $pkg = <<EOP; package PPIbug::v12_5::Dummy; print "Found and loaded PPIbug::v12_5::Dummy just fine, too\n"; 1; EOP my $doc = PPI::Document->new(\$pkg); print Dumper($doc); __END__ $ perl -MPPIbug::12_5::Dummy -e '' Found and loaded PPIbug::12_5::Dummy just fine $ ppibug ... bless( { 'content' => 'package' }, 'PPI::Token::Word' ), bless( { 'content' => ' ' }, 'PPI::Token::Whitespace' ), vvvvvvvvvvvvvvvvvvvvvvvvvv bless( { 'content' => 'PPIbug::' }, 'PPI::Token::Word' ), bless( { 'content' => '12_5', '_base' => 10 }, 'PPI::Token::Number' ), bless( { 'content' => '::Dummy' }, 'PPI::Token::Word' ), ^^^^^^^^^^^^^^^^^^^^^^^^^ bless( { 'content' => ';' }, 'PPI::Token::Structure' ) ...
Visit our website at http://www.ubs.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mails are not encrypted and cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments.
I see this bug when using Perl::Critic and running it against my Image-TextMode dist, which contains the modules: Image::TextMode::Font::8x16 and Image::TextMode::Font::8x8. e.g: $VAR1 = bless( { 'children' => [ bless( { '_location' => [ 1, 1, 1 ], 'content' => 'package' }, 'PPI::Token::Word' ), bless( { '_location' => [ 1, 8, 8 ], 'content' => ' ' }, 'PPI::Token::Whitespace' ), bless( { '_location' => [ 1, 9, 9 ], 'content' => 'Image::TextMode::Font::' }, 'PPI::Token::Word' ), bless( { '_location' => [ 1, 32, 32 ], 'content' => '8' }, 'PPI::Token::Number' ), bless( { '_location' => [ 1, 33, 33 ], 'content' => 'x16' }, 'PPI::Token::Word' ), bless( { '_location' => [ 1, 36, 36 ], 'content' => ';' }, 'PPI::Token::Structure' ) ] }, 'PPI::Statement::Package' );
Fixed in 1.211_01