---
name: "Catalyst::ScriptRunner"
section: "3pm"
platform: "linux"
package: "libcatalyst-perl"
version: "5.90132-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::ScriptRunner"
---

# Catalyst::ScriptRunner(3pm)

The Catalyst Framework script runner

## NAME

Catalyst::ScriptRunner - The Catalyst Framework script runner

## SYNOPSIS

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

## DESCRIPTION

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.

## TRAIT LOADING

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.

## METHODS

### 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.

## AUTHORS

Catalyst Contributors, see Catalyst.pm

## COPYRIGHT

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