in reply to OO Simple THing

you probably want
# untested sub new { my $class= shift; my %args = @_; my $self = {map { ("_$_" => $args{$_}) } qw(roundnum room judge type code contestants)}; bless $self, $class; }
and you have to call it like:
my $test=new round (roundnum=>1);
in your example you're calling roundum() with a hashref as an argument {roundum => 1}

update: and it's more common to use classnames with a first uppercase letter, just to distinguish it from pragmas (like strict, warnings, less etc.)
also a good starter for programming oo-perl is one of the perldoc pages, like perlboot, perltoot etc.