Graeme McLaren <mailto:[EMAIL PROTECTED]> wrote:
[snip useful code] : $self->_init(); Pass the site to _init(): $self->_init( $arg{site} ); : } : : sub _init{ : my $self = shift; my $site = shift; die $site; : die %{$self}; : } That was the short answer. The long answer might add "site" to the class. Here we make site available to the caller as a read-only method. package Conf; use Carp 'croak'; sub new { my( $caller, %arg ) = @_; my $conv = { x => '/usr/local/apache/htdocs/x', y => '/usr/local/apache/htdocs/y', z => '/usr/local/apache/htdocs/z' }; croak q(new() requires 'site' parameter: ) . q(Conf->new( site => 'x' )) unless exists $conv->{ $arg{site} }; my $class = ref( $caller ) || $caller; my $self = bless { site => $arg{site}, _doc_root => $conv->{ $arg{site} }, }, $class; $self->_init(); return $self; } sub _init { my $self = shift; die $self->site(); } sub site { my $self = shift; return $self->{site}; } 1; HTH, Charles K. Clarkson -- Mobile Homes Specialist 254 968-8328 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>