Страница 1 из 1

Ошибка Global symbol в Perl

Добавлено: 2007-09-19 11:29:01
Agronom
Есть скрипт, который парсит приходящие в письмах анкеты, но почему-то выдает ошибки, вот начало скрипта:

Код: Выделить всё

use strict; 

# Used for to determinate encoding and convert 
use Lingua::DetectCharset; 
use Convert::Cyrillic; 

# Used for parse mail 
use Mail::Header; 
use Mail::Internet; 

# Used for insert into database 
use DBI; 

# Used for date 
$ENV{TZ}="BT"; 
use Date::Manip; 

open OUT, ">/usr/local/pgsql/scripts/my"; 

# Read mail 
my $mail =  Mail::Internet->new([ <STDIN> ]); 

# if mail is right? 
if( mail_right ($mail) ) { 
 print OUT "Not right from mail-addres!!!\n"; 
 } 
#print OUT "Main: $body, @$body"; 

# mail encoding 
if(!mail_encoding()) { print OUT "Not right encoding koi8!!! \n" }; 

# mail_convert 
($clients,$sotrud,$istor,$url)=mail_convert(); - ВОТ НА ЭТУ СТРОКУ УЖЕ РУГАЕТСЯ 
print OUT %$clients; 
print OUT %$sotrud; 
print OUT %$url; 

#print $prs_a; 

# insert in DB 
if(!insert_DB($clients,$sotrud,$istor,$url)) { print OUT "Not proper insert in DB!!!! \n"; } 


close OUT;
а ошибки вот такие:

Код: Выделить всё

Global symbol "$clients" requires explicit package name at /usr/local/pgsql/scripts/my_script line 57. 
Global symbol "$sotrud" requires explicit package name at /usr/local/pgsql/scripts/my_script line 57. 
Global symbol "$istor" requires explicit package name at /usr/local/pgsql/scripts/my_script line 57. 
Global symbol "$url" requires explicit package name at /usr/local/pgsql/scripts/my_script line 57.
подскажите как это исправить?

Re: Ошибка Global symbol в Perl

Добавлено: 2007-09-19 12:05:28
Alex Keda
57-я строка - это какая?

Re: Ошибка Global symbol в Perl

Добавлено: 2007-09-19 12:09:03
Agronom

Код: Выделить всё

($clients,$sotrud,$istor,$url)=mail_convert(); - ВОТ НА ЭТУ СТРОКУ УЖЕ РУГАЕТСЯ

Re: Ошибка Global symbol в Perl

Добавлено: 2007-10-18 10:54:35
al0ns0
перед скобой объяви переменные локальными дописав my либо убери прагму use strict;