B-Tools
view release on metacpan or search on metacpan
lib/B/Tools.pm view on Meta::CPAN
use 5.008005;
use strict;
use warnings;
our $VERSION = "0.01";
use parent qw(Exporter);
our @EXPORT = qw(op_grep op_walk op_descendants);
sub op_walk(&$) {
my ($code, $op) = @_;
local *B::OP::walkoptree_simple = sub {
local $_ = $_[0];
$code->();
};
B::walkoptree($op, 'walkoptree_simple');
}
sub op_grep(&$) {
my ($code, $op) = @_;
my @ret;
op_walk {
if ($code->()) {
push @ret, $_;
}
} $op;
return @ret;
}
( run in 0.851 second using v1.01-cache-2.11-cpan-49f99fa48dc )