When I execute this line: $type eq "unknown" ? $type="human" : $type="both";
$type is always "both". But executing this line: if ($type eq "unknown") {$type="human"} else {$type="both"}; $type is "human", which is want I want and expect. The context for these statements in my program is pasted in at the bottom. Thanks for your guidance. -Kevin Kevin Zembower Internet Services Group manager Center for Communication Programs Bloomberg School of Public Health Johns Hopkins University 111 Market Place, Suite 310 Baltimore, Maryland 21202 410-659-6139 ==================================== my $type = "unknown"; #The default. foreach (@se) { #Try to identify robots by the words in their hostname if ($h->{host} =~ /$_/) { $type = "robot"; #a search engine robot. last; }# if one of the names for a robot is contained in the host name }# for each of the names of robots #Try to identify humans by GET /searchresults # $type="both" shouldn't occur if ($h->{file} =~ /searchresults\.shtml/) { #$type eq "unknown" ? $type="human" : $type="both"; if ($type eq "unknown") {$type="human"} else {$type="both"}; }# if the file requests is searchresults.shtml -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/