new ObjectName( codeStr => 'sub { do some perl stuff with @_ }' ); package ObjectName; #... sub new { #...., not forgetting to set $self->{codeStr} from args $self->{code}=eval $self->{codeStr}; } #...