#!/usr/local/bin/perl -w use strict; use re 'debug'; sub make_grep { my $pat = shift; eval 'sub { grep /$pat/o, @_ }'; } my $foo = make_grep( q/sacked/); warn 'assigned coderef to $foo'; my @mtchs = $foo->( qw(sacked soccer) ); warn 'called $foo->()';