DamnDirtyApe has asked for the wisdom of the Perl Monks concerning the following question:
Fellow Monks;
Can someone please tell me how I can write a function that accepts a bare block as an argument, like map? I want to write a function that's called like this:
if ( each_item { $_->price <= 1000 } @product_list ) { #... }
So far, this is the closest I've been able to get:
sub each_item { my $test = shift ; foreach ( @_ ) { return 0 unless ( eval $test ) } return 1 ; } if ( each_item '$_->price <= 1000', @product_list ) { #... }
I've tried the Camel Book, the Ram Book, Google's thepen search, Super Search, perlfaq, perlsub... I just can't search anymore. I'd really appreciate a hand.
Thanks,
|
---|