PPIx::EditorTools::RenameVariable3pm
Lexically replace a variable name in perl code
Usage
my $munged = PPIx::EditorTools::RenameVariable->new->rename(code => $code,line => 15,column => 13,replacement => 'stuff',);my $code_as_strig = $munged->code;my $code_as_ppi = $munged->ppi;my $location = $munged->element->location;
Version
version 0.21
Overview
This module will lexically replace a variable name.
Methods
new()-
Constructor. Generally shouldn't be called with any arguments.
- rename( ppi => PPI::Document $ppi, line => Int, column => Int, replacement => Str )
- rename( code => Str $code, line => Int, column => Int, replacement => Str )
- rename( code => Str $code, line => Int, column => Int, to_camel_case => Bool, [ucfirst => Bool] )
- rename( code => Str $code, line => Int, column => Int, from_camel_case => Bool, [ucfirst => Bool] )
-
Accepts either a
"PPI::Document"to process or a string containing the code (which will be converted into a"PPI::Document") to process. Renames the variable found at line, column with that supplied in the"replacement"parameter and returns a"PPIx::EditorTools::ReturnObject"with the new code available via the"ppi"or"code"accessors, as a"PPI::Document"or"string", respectively. The"PPI::Token"found at line, column is available via the"element"accessor.Instead of specifying an explicit replacement variable name, you may choose to use the
"to_camel_case"or"from_camel_case"options that automatically convert to/from camelCase. In that mode, the"ucfirst"option will force uppercasing of the first letter.You can not specify a replacement name and use the
"to/from_camel_case"options.Croaks with a "no token" exception if no token is found at the location. Croaks with a "no declaration" exception if unable to find the declaration.
Copyright and license
This software is copyright (c) 2017, 2014, 2012 by The Padre development team as listed in Padre.pm..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 4 times.