use strict; use warnings; my @arr = qw( bar qux foo qux2 bar2 foo foo3 ); my $marker = "foo"; my $found = undef; for my $entry (@arr) { if ($entry eq $marker) { $found = 1; } if (defined $found) { print $entry, "\n"; } } #### use strict; use warnings; my @arr = qw( bar qux foo qux2 bar2 foo foo3 ); my $marker = "foo"; print "$_\n" for items_after($marker, @arr); sub items_after { my ($marker, @list) = @_; my $index = 0; for my $entry (@list) { print "Checking '$entry' eq '$marker'\n"; if ($entry eq $marker) { return @list[$index..$#list]; } $index++; } return; }