NAME
Compiler::Lexer - Lexical Analyzer for Perl5
SYNOPSIS
use
Compiler::Lexer;
use
Data::Dumper;
my
$filename
=
$ARGV
[0];
open
my
$fh
,
'<'
,
$filename
or
die
"Cannot open $filename: $!"
;
my
$script
=
do
{
local
$/; <
$fh
> };
my
$lexer
= Compiler::Lexer->new(
$filename
);
my
$tokens
=
$lexer
->tokenize(
$script
);
Dumper
$tokens
;
my
$modules
=
$lexer
->get_used_modules(
$script
);
Dumper
$modules
;
METHODS
- my $lexer = Compiler::Lexer->new($options);
-
create new instance. You can create object from $options in hash reference.
options list
- $lexer->tokenize($script);
-
get token objects includes parameter of 'name' or 'type' or 'line' and so on. This method requires perl source code in string.
- $lexer->set_library_path(['path1', 'path2' ...])
-
set libraries path for reading recursively. Default paths are @INC.
- $lexer->recursive_tokenize($script)
-
get hash reference like { 'module_nameA' => [], 'module_nameB' => [] ... }. This method requires per source code in string.
- $lexer->get_used_modules($script);
-
get names of used module. This method requires perl source code in string.
AUTHOR
Masaaki Goshima (goccy) <goccy(at)cpan.org>
CONTRIBUTORS
tokuhirom: Tokuhiro Matsuno
LICENSE AND COPYRIGHT
Copyright (c) 2013, Masaaki Goshima (goccy). All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.