```{index} single: oplist (B::OP) ``` ```{index} single: B::OP::oplist ``` # oplist Return every op reachable from this one in execution order. ## Synopsis ```perl my @ops = B::main_root->oplist; ``` Follows `op_next` and also descends the side chains it does not thread through - a LOGOP's `other`, a LOOP's `redoop`/`nextop`/`lastop`, a substitution's replacement, and a `sort` block's comparator. **This clears `op_opt` on every op it visits**, which is how it avoids walking a shared branch twice. Run it after the peephole optimiser, and expect `B::OP::opt` to read 0 afterwards.