On Sun, May 30, 2010 at 7:18 PM, Yuval Kogman <[email protected]> wrote:
>
> In the context of Want it just checks if the retop operation involves a
> boolean operator such that SvTRUE of the return value is the only thing ever
> used.
> my $foo = foo();
> if ( $foo ) { # not boolean context
>
> if ( foo() ) { # boolean context
So I wanted to show how
if ( $foo ) {
is a boolean context and started to write an example:
use strict;
use warnings;
tie my $z, 'X', 1;
print $z;
package X;
use strict;
use warnings;
use Want;
sub TIESCALAR {
my ($class, $self) = @_;
return bless \$self, $class,
}
sub FETCH {
my ($self) = @_;
print "ok" if want('BOOL');
return $$self;
}
the response was surprising:
Segmentation fault
using v5.10.1 that comes with Ubuntu 10.4 and Want 0.18
the call to 'want' generates this.
Can someone with a newer version of perl confirm this?
Gabor
_______________________________________________
Perl mailing list
[email protected]
http://mail.perl.org.il/mailman/listinfo/perl