Forum Webscript.Ru

Программирование => Perl => Тема начата: Skif от 25 Октября 2004, 13:30:23

Название: Немогу понять ошибку.
Отправлено: Skif от 25 Октября 2004, 13:30:23
В общем ничего экстраординарного, обычный скрипт. Пытаюсь читать свой конфиг и получаю облом, ниже исходник:

#!/usr/bin/perl -w

use DBI;

#########################
#
# Список основных переменных
#
#########################

my $dbname;
my $dbuser;
my $dbpass;
my $table_auth;
my $table_proto;
my $listen_host;
my @listen_interf;

#########################
#
# Читаем конфиг. файл.
#
#########################

open (CONFIG, "/usr/local/script/ng_stat/etc/ng_stat.conf");

while () {
    $comment = \'#\';
    if(/^$comment/) {
    print "Коментарий\\n";
    }
    else {
    ($param,$arg) = split("=",$_);
    chomp $param;
    chomp $arg;
    my $razdel = undef;
    my $shabl = \\s;
#    $param =~ s/$shabl/$razdel/g;
#    $arg =~ s/$shabl/$razdel/g;
    if ($param eq "dbname"){
        $dbname = $arg;
    }
    if ($param eq "dbuser"){
        $dbuser = $arg;
    }
    if ($param eq "dbpass"){
        $dbpass = $arg;
    }
    if ($param eq "table_auth"){
        $table_auth = $arg;
    }
    if ($param eq "table_protocols"){
        $table_proto = $arg;
    }
    if ($param eq "listen_host"){
        $listen_host = $arg;
    }
    if ($param eq "listen_interfaces"){
        print $arg;
        $coma = \',\';
        if ($arg =~ m/$coma/ ) {
            @listen_interf=split($coma,$arg);
            }
        else {
        @listen_interf = $arg;
        }
    }
    }
}
close (CONFIG);
print "@listen_interf\\n";
exit(0);

 

А вот сама ошибка:
skif@ostwest :./start.pl
syntax error at ./start.pl line 40, near "){"
syntax error at ./start.pl line 69, near "}"
Execution of ./start.pl aborted due to compilation errors.
skif@ostwest :

Вот кусок  кода и з выше приведенного, на котором начинается ошибка:

    if ($param eq "dbname"){
        $dbname = $arg;
    }
 
Пробовал ставить/убирать пробельные символами между обычной и фигурной скобкой - не помогает. 69 строка - }... Но вот только все я позакрывал.
В общем тупой вопрос - где я здесь допустил ошибку. И в чем.:insane:
Название: Немогу понять ошибку.
Отправлено: Skif от 25 Октября 2004, 13:40:27
Снимаю вопрос -

    my $shabl = \'\\s\';
 

Забыл поставить  символы \' на знаке.
Название: Немогу понять ошибку.
Отправлено: commander от 25 Октября 2004, 15:56:54
my $shabl = "s";
Название: Немогу понять ошибку.
Отправлено: commander от 25 Октября 2004, 15:57:13
Упс... поздно... :)