[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Early adopters of symbol based dependencies needed

On Wed, 21 Nov 2007, Russ Allbery wrote:
> Be careful about && because you can get the opposite problem.
>     exists $self->{flags}{DYNAMIC && $self->{flags}{DYNAMIC}
> will be parsed as
>     exists ($self->{flags}{DYNAMIC && $self->{flags}{DYNAMIC})
> It's often good style to always use parens with the argument to defined or
> exists because they're most often the functions that get bitten by this.

Aren't they supposed to have a prototype to avoid such behaviour?

I mean exists should behave like myprint2 in the example below:
sub myprint {
    print $_[0] . "\n";

sub myprint2 ($) {
    print $_[0] . "\n";

%a = ('a' => 'this is a');
myprint $a{a} && exists $a{a};
myprint2 $a{a} && exists $a{a};

Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :

Reply to: