in reply to inherit Readonly variables (constants)

Child classes don't inherit variables, only methods. You'll need to usee the qualified variable name ($My::Base::Class::TIMEOUT_ERROR) or have the base class export the variable and import it into the child.
use My::Base::Class qw( $TIMEOUT_ERROR );

Or create a tag if you have lots of error codes:

use My::Base::Class qw( :error_codes );