Ошибка Global symbol в Perl

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Ошибка Global symbol в Perl

Непрочитанное сообщение Agronom » 2007-09-19 11:29:01

Есть скрипт, который парсит приходящие в письмах анкеты, но почему-то выдает ошибки, вот начало скрипта:

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

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.
подскажите как это исправить?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35420
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2007-09-19 12:05:28

57-я строка - это какая?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

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

Непрочитанное сообщение Agronom » 2007-09-19 12:09:03

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

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

al0ns0
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-08-13 9:56:13

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

Непрочитанное сообщение al0ns0 » 2007-10-18 10:54:35

перед скобой объяви переменные локальными дописав my либо убери прагму use strict;