Scroll to navigation

Catalyst::ScriptRunner(3pm) User Contributed Perl Documentation Catalyst::ScriptRunner(3pm)


Catalyst::ScriptRunner - The Catalyst Framework script runner


    # Will run MyApp::Script::Server if it exists, otherwise
    # will run Catalyst::Script::Server.
    Catalyst::ScriptRunner->run('MyApp', 'Server');


This class is responsible for loading and running scripts, either in the application specific namespace (e.g. "MyApp::Script::Server"), or the Catalyst namespace (e.g. "Catalyst::Script::Server").

If your application contains a custom script, then it will be used in preference to the generic script, and is expected to sub-class the standard script.


Catalyst will automatically load and apply roles to the scripts in your application.

"MyApp::TraitFor::Script" will be loaded if present, and will be applied to ALL scripts.

"MyApp::TraitFor::Script::XXXX" will be loaded (if present) and for script individually.


run ($application_class, $scriptclass)

Called with two parameters, the application class (e.g. MyApp) and the script class, (i.e. one of Server/FastCGI/CGI/Create/Test)

find_script_class ($appname, $script_name)

Finds and loads the class for the script, trying the application specific script first, and falling back to the generic script. Returns the script which was loaded.

find_script_traits ($appname, @try)

Finds and loads a set of traits. Returns the list of traits which were loaded.


Catalyst Contributors, see


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

2020-09-13 perl v5.30.3