in reply to http referers, if, else and failures

You have another problem besides returning on the first try. In your code if https://securesite.com is a good refererer then http://securesite.com is also good. Unless that is what you wanted, but you didn't state that.

try using grep and lc and test for equality

#!/usr/local/bin/perl -w use strict; my @referers = qw| https://www.imdb.com http://www.yoda-speak.org |; $ENV{HTTP_REFERER} = 'http://www.yoda-speak.org'; print check_url($ENV{HTTP_REFERER},@referers) , "\n"; $ENV{HTTP_REFERER} = 'https://www.imdb.com'; print check_url($ENV{HTTP_REFERER},@referers) , "\n"; $ENV{HTTP_REFERER} = 'http://badsite.net'; print check_url($ENV{HTTP_REFERER},@referers) , "\n"; sub check_url { my $http_referer = shift; my @referers = @_; return scalar(grep ( lc($http_referer) eq lc($_) , @referers )); }


grep
Mynd you, mønk bites Kan be pretti nasti...