foreach my $name (@names) { if ($dbpattern{$name} =~ /$pattern/i or $dbcolor{$name} =~ /$color/i) { # print out the record } } #### $i =0; while (my $name[$i] = ) { chomp $name[$i]; my $color = ; my $pattern = ; my $dbcd = ; chomp ($color, $pattern, $dbcd); #yep, all at once! # now go on as before ... $i++; } #### superpicture|TerraCotta|Offset Brick|5 #### chomp $line; my @record = split /\|/, $line, 4; # $record[0] is name, 1 => color 2 => pattern, etc. #### perl -e 'print "How sweet does a rose smell? "; chomp ($n = ); $rose = "smells sweet to degree $n"; *other_name = *rose; print "$other_name\n"'