开发者

Perl syntax error, but I can't find it for the life of me

开发者 https://www.devze.com 2023-03-21 21:19 出处:网络
This error is angering me. I can\'t see anything near those lines with a parenthesis error or missing brackets.Someone give me a h开发者_Go百科and?This is my first post, forgive me if the formatting i

This error is angering me. I can't see anything near those lines with a parenthesis error or missing brackets. Someone give me a h开发者_Go百科and? This is my first post, forgive me if the formatting is off; I think I got it right.

EDIT: line 87, the ');' error, is this line: select(SEXTANT_DAEMON_LOG);

syntax error at -edited- line 87, near ");"
syntax error at -edited- line 92, near "if"
syntax error at -edited- line 99, near "if"
Unmatched right curly bracket at -edited- line 102, at end of line
syntax error at -edited- line 102, near "}"
syntax error at -edited- line 109, near "}"
syntax error at -edited- line 120, near ");"
BEGIN not safe after errors--compilation aborted at -edited- line 122.

This is the code near the error (full code here):

$MAIN_DBH = getConnection('Main');
$fs_logfile = getCSConfigValue($MAIN_DBH, 'Log', 'Sextant Update Daemon') or die "pid$$[" . localtime(time()) . "] Main dbh error: " . DBI::errstr;
open(SEXTANT_DAEMON_LOG, '>>', $fs_logfile) or die "pid$$[" . localtime(time()) . "] unable to open log file '$fs_logfile'\n";
$tmp = select(SEXTANT_DAEMON_LOG);
$| = 1;
select(SEXTANT_DAEMON_LOG);


Perl isn't giving a very good error message, but what it's actually complaining about is that "pid$$[" looks like an invalid attempt to access the array @$. Try replacing it with "pid$$\[".

The way I found that was by inserting __END__ near the reported location of the first error. I moved it up and down until I found the first line that caused an error, which was

$fs_logfile = getCSConfigValue($MAIN_DBH, 'Log', 'Sextant Update Daemon') or die "pid$$[" . localtime(time()) . "] Main dbh error: " . DBI::errstr;

Then I tried adding the backslash, and it fixed the error.

Note: perl -c is very useful in situations like this.

0

精彩评论

暂无评论...
验证码 换一张
取 消