||= either sets the variable on the left hand side to the value on the left hand side (unmodified, IOW) if it's not false, or sets it to the right hand side value. Now that I think about it, it's not necessary in this case ( you can just do $not_found = (!defined(...), and last to escape the loop...), but it's useful for optional parameters from command line or CGI scripts.
Now, are you talking about multiple existences in your original array? To do that, simply apply a similar approach, as an example...
my %hash;
foreach $item (@array) {
$hash{ $item } = ( !defined( $hash{ $item } ) ) ?
$hash{ $item }++ : 1;
}
Which will count and enumerate all duplicates in your list.
Dr. Michael K. Neylon - mneylon-pm@masemware.com
||
"You've left the lens cap of your mind on again, Pinky" - The Brain
| [reply] [d/l] [select] |