use strict; use warnings; package Character; sub new { my ($class) = @_; return bless({ poisoned => 0, }, $class); } sub poisoned { my ($self, $poisoned) = @_; $self->{poisoned} = $poisoned if @_ >= 2; return $self->{poisoned}; } package main; my $char = Character->new(); print($char->poisoned, "\n"); # 0 $char->poisoned(1); print($char->poisoned, "\n"); # 1 $char->poisoned(0); print($char->poisoned, "\n"); # 0