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>


Reply via email to