- my @elems = $iterator->pick(\@prefixes, \@heads, (\@derefs) x $depth);
- my $code = join '', @elems;
- my $exp = $elems[0] eq 'exists ' ? !1 : undef;
+ my ($prefix, @elems)
+ = $iterator->pick(\@prefixes, \@heads, (\@derefs) x $depth);
+ my $code = $prefix->(join '', @elems);
+ my $exp = ($code =~ /^\s*exists/) ? !1
+ : (($code =~ /=\s*$magic_val/) ? $magic_val
+ : undef);