use strict;
package EvalTest;
use selfvars;
sub new {
return bless {}, $self;
}
sub in {
my ($n) = @args;
$self->{n} = $n;
}
sub out {
return $self->{n};
}
sub out2 {
return eval { return $self->{n} };
}
sub out3 {
return eval '$self->{n}';
}
sub out4 {
return eval { eval '$self->{n}'; };
}
sub out5 {
eval {
eval { $self->{n} };
};
}
sub out6 {
eval q{eval '$self->{n}'};
}
sub out7 {
eval q{eval {$self->{n}}};
}
my $depth = 20;
sub out8 {
if ($depth == 0) {
return eval { $self->{n}; };
}
$depth--;
return eval { $self->out8; };
}
1;