Hi,
I wrote the following:
#!/usr/bin/perl -wT
use strict;
my ($server) = sitemode("test");
print $server;
sub sitemode {
my $string = "foonky";
my $server = shift || $string =~ /(foo|bar)/ ? $1 : 'default';
return $server;
}
Now this throws an error. The error does not occur when I call the subroutine
without an argument:
sitemode();
It also does not show up if I enclose the ternary operator in brackets:
my $server = shift || ($string =~ /(foo|bar)/ ? $1 : 'default');
While this solves my problem, I still do not get the reason for it. Could
someone shed a light on this precedence confusion?
Thanks,
Jan
--
There are two major products that come out of Berkeley: LSD and UNIX. We don't
believe this to be a coincidence. - Jeremy S. Anderson
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>