my @availablePosts = grep { for my $enemy( keys %$_ ) { if ( !defined( $player{ $enemy }) || ( $player{ $enemy } < $_ -> { $enemy } ) ) { $_ = undef(); last; } } } @posts;