#!/opt/perl/bin/perl -wl use strict; my @data = qw /foo start bar baz stop qux start quux stop fuzzle/; foreach (grep /start/ .. /stop/, @data) { next if /start/ || /stop/; print } print "----"; foreach (sub {pop; shift; @_} -> (grep /start/ .. /stop/, @data)) { print; } __END__ bar baz quux ---- bar baz stop start quux