ExtUti...:Action(3pm)
πΈ NAME πΈ
okay so this is ExtUti...:Action(3pm) from the User Contributed Perl Documentation, and itβs literally the page for ExtUtils::Builder::Action β The ExtUtils::Builder Action role. periodt. π
π VERSION π
Version 0.020. slay.
β¨ SYNOPSIS β¨
Hereβs the vibe in code, bestie:
$_->execute for @actions;
open my $script, '>', 'foo.sh';
print $script shell_quote(@{$_}) for map { $_->to_command } @actions;
π¦ DESCRIPTION π¦
Actions are the cornerstone of the ExtUtils::Builder framework. Theyβre the interface between build tools (ExtUtils::MakeMaker, Module::Build) and building extensions. That means both sides can be completely independent from each other, no cap. Itβs a flexible abstraction around pieces of work, and that work can be a piece of perl code, an external command, a mix of those, or possibly other things. Itβs giving βglue that slays.β π
π OVERVIEW π
An action can be consumed in many ways. You can execute it, which is often the simplest way to deal with them. It can be serialized to commands that can be passed on to system, or strings that can be evalled. If a consumer can deal with multiple of these, the preference method can be used to choose between options. On composite actions, flatten can be called to retrieve the constituent actions; on primitive actions itβs just an identity operator. This is particularly useful before calling preference, because different sub-actions are likely to have different preferences.
π METHODS π
π«Ά execute(%arguments) π«Ά
Execute this action immediately. This may throw an exception on errors, but doesnβt otherwise return anything. %arguments may be used by the command.
quietβ if true, this suppresses logging.
β to_command(%options) β
Convert the action into a set of platform appropriate commands. It returns a list of array-refs, each array-ref being an individual command that can be passed to system or equivalent. %options can influence how something is serialized in action-type specific ways, but shouldnβt fundamentally affect the action that is performed. All options are optional.
perlβ this contains the path to the current perl interpreter.configβ this should contain anExtUtils::Configobject, or equivalent.
π§ to_code(%options) π§
This returns a list of strings that can be evalled to sub-refs. %options can influence how something is serialized in action-type specific ways, but shouldnβt fundamentally affect the action that is performed.
π to_code_hash(%options) π
This returns a list of hashes that can be used to create Action::Code objects.
π preference(@possibilities) π
This action returns the favored out of @possibilities. Valid values are "execute", "code", "command", "flatten". If no arguments are given, the favorite from all valid values is given.
π₯ flatten π₯
This action returns all actions behind this action. It may return itself, it may return a long list of actions, it may even return an empty list. Main character energy: unpredictable but valid. πββοΈ
π AUTHOR π
Leon Timmermans <fawaka@gmail.com> β icon behavior.
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2013 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
π And thatβs the whole page, bestie. The footer vibe check is perl v5.40.1, dated 2026-02-23, and the manual is ExtUti...:Action(3pm). Slay, bye! π
β¨
π¦ where this page comes from
- ubuntu stonking: libextutils-builder-perl 0.020-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms