return sub {
my ( $instance, $predicate ) = @_;
foreach my $val ( @{ $reader->($instance) } ) {
- return $val if $predicate->($val);
+ local $_ = $val;
+ return $val if $predicate->();
}
return;
};
my ( $attr, $reader, $writer ) = @_;
return sub {
my ( $instance, $f ) = @_;
- CORE::map { $f->($_) } @{ $reader->($instance) };
+ CORE::map { $f->() } @{ $reader->($instance) };
};
}
my ( $attr, $reader, $writer ) = @_;
return sub {
my ( $instance, $predicate ) = @_;
- CORE::grep { $predicate->($_) } @{ $reader->($instance) };
+ CORE::grep { $predicate->() } @{ $reader->($instance) };
};
}