#!/usr/bin/env perl -w sub my_grep(&@){ my $fctn = shift @_; my @ret; foreach (@_){ if (&$fctn){ push @ret, $_; } } return @ret; } @list = (1..10); @even = my_grep {$_ %2 == 0} @list; print "Evens: @even\n";