http://www.perlmonks.org?node_id=601672


in reply to Construct for Skipping and Continue

You would typically use a flag for whether the item was found or not. For example:
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"; } }
Alternately if you want to extract the subset:
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; }