On 6/8/06, Graeme McLaren <[EMAIL PROTECTED]> wrote:
Hi Anthony, good idea about overriding the table names. I had a feeling there would be a conf file somewhere. As I am outputting the results of the SELECT to an HTML::Template I am already using a Conf file which is another class. This leads me on to another question. If I instantiate my class and create a Conf object within $log->view then the Conf file won't be loaded till this method is invoked. I want to have all the Conf details available at the same time, I don't want to instantiate the Conf class several times and hold several copies of the Conf in memory when only one is required. So how or where should I instantiate it?
If everything related to the app is encapsulated withing your Log package, put it in the constructor package Log; sub new { //create object $self->init(); } sub init { open(CONF, $conf) or die "can't open config file: $!"; while(<CONF>) { next if (m/^#/); #skip comments my ($option) = $_ =~ s/(.*?)#/; #skip inline comments my ($key, $val) = split(/\s*=\s*/, $option); $self->{$key} = $val; } close(CONF); return $self; } sub getTablePrefix { my $self = shift; return $self->{'table_prefix'}; } So now when you can print Dumper($self->{'table_prefix'}); and it should have the value from the config file. my $log = new Log; print $log->getTablePrefix(); -- Anthony Ettinger Signature: http://chovy.dyndns.org/hcard.html -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>