#!/usr/bin/perl -l sub after { my $skip = shift @_; my( undef, @want ) = grep { $_ eq $skip .. ref($_) && $_ == \$skip } @_, \$skip; pop @want; return @want; } print join ", ", after(qw< c a b c d e f g >); print join ", ", after(qw< e a b c d e f g >); print join ", ", after(qw< z a b c d e f g >); print join ", ", after(qw< f a b c d e f g >); print join ", ", after(qw< g a b c d e f g >); print join ", ", after(qw< a a b c d e f g >); __END__ d, e, f, g f, g g b, c, d, e, f, g #### #!/usr/bin/perl -l sub after { my $skip = shift @_; my( undef, @i ) = grep $_[$_] eq $skip .. $_ == $#_, 0..$#_; return @_[@i]; } print join ", ", after(qw< c a b c d e f g >); print join ", ", after(qw< e a b c d e f g >); print join ", ", after(qw< z a b c d e f g >); print join ", ", after(qw< f a b c d e f g >); print join ", ", after(qw< g a b c d e f g >); print join ", ", after(qw< a a b c d e f g >); __END__ d, e, f, g f, g g b, c, d, e, f, g