Treats the input as a list of lines of Perl code; the code is evaluated at the specific Dist::Zilla phase given by the plugin. The code is executed in its own eval scope, within a subroutine body; @_ contains the instance of the plugin executing the code. (Remember that shift in an eval actually operates on @ARGV, not @_, so to access the plugin instance, use $_[0].)

Normally, run* commands are included in distribution metadata when used with the [MetaConfig] plugin. To bypass this, set censor_commands = 1. Additionally, this command is set to true automatically when a URL with embedded password is present.

All commands for a given option name are executed together, in the order in which they are documented above. Within commands of the same option name, order is preserved (from the order provided in dist.ini).

%t-TRIAL if the release is a trial release, otherwise the empty string

%x full path to the current perl interpreter (like $^X but from Config)

Additionally %s is retained for backward compatibility. Each occurrence is replaced by a different value (like the regular sprintf function). Individual plugins define their own values for the positional replacement of %s.

NOTE: when using filenames (e.g. %d, %n and %x), be mindful that these paths could contain special characters or whitespace, so if they are to be used in a shell command, take care to use quotes or escapes!