You could also try
my %h1 = map { /^\w+\s+\w+\s+(\w+)/ ; ( $1, 1) } @list_one; push @list_one, grep { /^\w+\s+\w+\s+(\w+)/; ! exists $h1{$1} } @list_ +two;
This retains the the ordering to some extent. I extracted the names a bit differently, but not necessarily in a better way.
In reply to Re: Comparing parts of 2 strings in an array and deleting one
by wazat
in thread Comparing parts of 2 strings in an array and deleting one
by Amblikai
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |