prt(1) Command line frontend of App::PRT


$ prt <command> <args>
$ prt <command> <args> <files>


prt is the command line frontend of App::PRT.


  • replace_token

    Replace "foo" token with "bar".

        prt replace_token foo bar

    Replace "foo" token with "bar" but target statements must have "bazz" token.

        prt replace_token foo bar --in-statement bazz
  • rename_class

    Rename "Foo" class to "Bar" class.

        prt rename_class Foo Bar
  • rename_namespace

    Rename "Foo" and "Foo::*" classes to "Bar" and "Bar::*" classes.

        prt rename_namespace Foo Bar
  • delete_method

    Delete "eat" method from "Food" class.

        prt delete_method Food eat
  • move_class_method

    Move "method" method in "Class" class to "another_method" method in "AnotherClass". "Class"'s including packages are copied to "AnotherClass".

        prt move_class_method 'Class#method' 'AnotherClass#another_method'


You can specify the target files to refactor.

    prt replace_token foo bar lib/**/**.pm t/*.t # Refactor Perl modules in lib/ and test files in t/

Without target files, "App::PRT" collects source codes in your project automatically. "App::PRT" searches "cpanfile" to detect project root directory. When executed in git repository, All files in the repository are used.

    prt replace_token foo bar                    # Refactor the project in current working directory


Copyright (C) hitode909.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


hitode909 <[email protected]>