#!/usr/bin/perl use strict; use warnings; my $steps = [ sub { return "Hello: " . shift @_ }, sub { return shift }, sub { die "died on: " . shift @_}, sub { return shift }, sub { return shift }, ]; eval { print $steps->[$_]->($_) . "\n" for 0..$#$steps; }; print "at the end ...\n";