my ($option) = $_ =~ s/(.*?)#/; #skip inline comments

should be

m//, not s//



On 6/8/06, Anthony Ettinger <[EMAIL PROTECTED]> wrote:
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



--
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