sub colour { my $this = shift; if ( @_ ) { my $arg = shift; local $@; croak 'Illegal value for method colour' unless eval { @$arg; 1 }; $this->{colour} = $arg; } return @{ $this->{colour}||[] }; }