=head2 new( $canvas, $label, $parent? ) =cut sub new { my $class = shift; my $canvas = shift or croak("Missing canvas arg."); my $label = (defined $_[0] ? shift : croak("Missing label arg.")); my $parent = shift; # may be undef # [...] }