ScoreBoard.pm -------------------- package ScoreBoard; use Moose; use MooseX::Privacy; has 'started' => ( traits => [qw/Bool Protected/], is => 'ro', isa => 'Bool', predicate => 'hasGameStarted', handles => { startGame => 'set', }, ); 1; ScoreBoard-test2.pl -------------------------- #!/opt/local/bin/perl -w use strict; use ScoreBoard; my $sb = ScoreBoard->new; print "Game has not started yet\n" if !$sb->hasGameStarted;