To fix this line, just remove the "my" before "$VARDB_database":
if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) )
{$VARDB_database = $line; my $VARDB_database =~ s/.*=//gi;}
Using strict and warnings will save you from bugs like the above which fail silently:
use strict;
use warnings;
#path to astguiclient configuration file:
my $PATHconf = '/etc/astguiclient.conf';
my (
$PATHlogs,
$VARserver_ip,
$VARDB_server,
$VARDB_database,
$VARDB_user,
$VARDB_pass,
$VARDB_custom_user,
$VARDB_custom_pass,
$VARDB_port);
# Now perl knows the variables you will use, so if there is
# a typo later like "$PATHlog" instead of "$PATHlogs" then
# perl will tell you how to fix it, instead of just failing
# silently (like crappy PHP and Python :^)
open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n";
my @conf = <conf>;
close(conf);
my $i=0;
foreach(@conf){
my $line = $conf[$i];
|