in reply to Can't Call method error

Without getting into remarks about simply using core modules and style sheets...

The constructor method new is returning a true value, which is screwing with returning the now blessed object. You want sub new{my $class = shift; my $self = {}; bless $self, $class; }

Then,
sub StartTable { my $class = shift; my %self = @_; my $color = $self{'Color'}; ... }
then call the method using
$sm->StartTable( Color => 'Ugly Yellow', Height => 'Too Tall', Width => 'Skinny');
In the meantime, merlyn wrote an awesome intro to OO which will help you get past the hurdles to the concept, and (as an unintended side-effect) improve your use of modules-- check perldoc perlboot in any Perl 5.6+ install.

Update: Actually, this is a silly way to do this. If you aren't going to create an instance, you don't need a new() method at all.