# LibTmux::Operation

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Perl
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-perl/blob/352715a4fa66a96eed7763b90daaa536aa2f121d/packages/core/lib/LibTmux/Operation.pm#L1
- **Page:** https://libtmux.org/en/perl/latest/reference/libtmux-operation/

```
package LibTmux::Operation;
```

Executor-independent prepared command continuations

## Members

### Other members

- [`catch`](/en/perl/latest/reference/libtmux-operation-catch/) (method): Recover a failure with one value or another Operation.
- [`request`](/en/perl/latest/reference/libtmux-operation-request/) (method): `request(argv => [...], stdin => $octets, ...)` owns its input arguments. Execution is explicit through [`"run"`](/en/perl/latest/reference/libtmux-operation-run/); preparation performs no I/O.
- [`run`](/en/perl/latest/reference/libtmux-operation-run/) (method): `run($executor, $on_done, $on_fail)` supplies requests and two one-argument completion callbacks to the executor. The executor returns a cancellation hook. `run` returns a cancellation coderef suppressing further submissions. Each request settles once; the complete operation yields one value or error.
- [`sequence`](/en/perl/latest/reference/libtmux-operation-sequence/) (method): Execute an array of Operations in order, returning one arrayref of results.
- [`then`](/en/perl/latest/reference/libtmux-operation-then/) (method): Compose a local transformation returning one value or another Operation. Exceptions retain their original identity.
- [`value`](/en/perl/latest/reference/libtmux-operation-value/) (method): Wrap one local value, including undef for a documented void operation.
