{ my %data = ( name => 'vB', ); sub access_class_data { my $class = shift; my ($name, $val) = @_; return $class->SUPER::access_class_data( @_ ) unless exists $data{ $name }; if ( @_ > 1 ) { $data{ $name } = $val; } return $data{ $name }; } }