PPIx-IndexLines
view release on metacpan or search on metacpan
lib/PPIx/IndexLines.pm view on Meta::CPAN
next if exists $self->{ 'line' }{ $line_number };
$self->{ 'line' }{ $_ } = $info for $last_line_number + 1 .. $line_number - 1;
$last_line_number = $line_number;
my $node_type = ref $e;
$self->{ 'line' }{ $line_number } = $info = exists $lookup{ $node_type } ? $lookup{ $node_type }->( $e ) : $package;
}
} ## end sub index_lines
sub line_type { $_[ 0 ]->{ 'line' }{ $_[ 1 ] } || '' }
1;
__END__
=pod
=head1 NAME
PPIx::IndexLines - Given a line number, returns some basic information about where in the perl document you are
=head1 VERSION
version 0.05
=head1 SYNOPSIS
#!/usr/bin/perl
use strict;
use warnings;
use PPIx::IndexLines;
my $document = PPIx::IndexLines->new( +shift );
$document->index_lines;
print $document->line_type( +shift );
=head1 METHODS
=head2 new
Accepts either a scalar or a scalar reference. This is passed directly to
PPI::Document::new, so the same rules as in that method apply.
Basically, if you pass in a scalar, it will be assumed to be a filename and
said file will be loaded and parsed.
Otherwise, a scalar reference is assumed to be a PPI document and will be
parsed directly.
=head2 index_lines
Call this method to index the lines for the new PPI::Document.
=head2 line_type
Call this method with a line number, it will return one of
BEGIN CHECK UNITCHECK INIT END POD __DATA__ __END__
or
<PackageName>::<SubName>
=head1 INSTALLATION
See perlmodinstall for information and options on installing Perl modules.
=head1 SEE ALSO
Please see those modules/websites for more information related to this module.
=over 4
=item *
L<PPIx::IndexOffsets>
=item *
L<PPIx::LineToSub>
=back
=head1 AUTHOR
Alan Young <harleypig@gmail.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Alan Young.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 2.063 seconds using v1.01-cache-2.11-cpan-98e64b0badf )