First, please make sure posted code compiles. Ignoring your pseudocode, you are missing a sigil on line 16 and a comma on line 22 and a curly bracket on line 31. See How do I post a question effectively?.
If a defined condition is sufficient (rather than exists), then you can easily perform the check with a grep and Slices:
if(grep defined, @line{@{$new{a}}}) #need this condition
Otherwise, it's probably easiest to loop over the array ref:
my $seen = 0;
for my $val ( @{$new{a}} ) {
$seen++ if exists $line{$val};
}
if($seen) {#need this condition
do something
} else {
do something
}
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.