Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sub 
V
    Опции темы
frenkys
Дата 20.3.2006, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



есть процедурка:


Код

sub gzip
{

if(($ENV{HTTP_ACCEPT_ENCODING} || '') =~ /gzip/){
        
        
                $a = Compress::Zlib::memGzip($a);
                print "Content-Encoding: gzip\n";}

print header(-charset=>'Windows-1251')
}


как безболезненно ее исправить что бі не менять имя и чтоб в логи не шло:

Subroutine gzip redefined

--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 20.3.2006, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Исправить во что?


--------------------
PM   Вверх
frenkys
Дата 20.3.2006, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



испрвить процедуру можно? чтоб не было конфликта имен?
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 20.3.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Покажи код smile чтолева. Я всё понимаю, но не вижу в процедуре ошибки, хошь переименуй её в gzip_my


--------------------
PM   Вверх
frenkys
Дата 20.3.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



1.pl

Код

#!/usr/bin/perl -w

require 'cont3.pl';


$a="hehe";

gzip();
print $a;




cont3.pl

Код

sub gzip
{

if(($ENV{HTTP_ACCEPT_ENCODING} || '') =~ /gzip/){
        
        
                $a = Compress::Zlib::memGzip($a);
                print "Content-Encoding: gzip\n";}

print header(-charset=>'Windows-1251')
}





после запуска 1.pl

Subroutine gzip redefined at cont3.pl line2
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 20.3.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Ты весь покажи код 1.pl

и вызывай &gzip();
если в файле cont3.pl одни процедурки, то поставь в конце
Код

1;

smile


--------------------
PM   Вверх
frenkys
Дата 20.3.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



а что значит 1;
Добавлено @ 23:37
блин, даже если просто пустой файл

Код

#!/usr/bin/perl -w

require 'cont3.pl';



запустить

то все равно пишет что
Subroutine gzip redefined at cont3.pl line2
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 21.3.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Ну представь, файлик-модуль весь состоит из одних процедур smile что делать перлу... они же не вызываются smile вот и простейший код 1; ничего не делает... как проще объяснить smile и КСТАТИ у меня такой ошибки нет. Утебя вообще в cont3.pl use есть? use CGI qw(:standard); напиши ;)
Добавлено @ 00:02
что у тебя за странный код... ужас


--------------------
PM   Вверх
frenkys
Дата 21.3.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



да все там есть:


cont3.pl
Код

use CGI qw(:standard);
use DBI;
use Compress::Zlib;
use Fcntl qw(:flock);
 
$|=1;


#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sub get_lock {
my $name=shift || 'default';
open($name, ">$name.sem") ;
flock($name,LOCK_EX) || "Cant block the file $name:$!";
} 
sub relase_lock {
$name=shift || 'default';
close($name);
}
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sub quit
{
my $url = $ENV{'SCRIPT_NAME'};
my $erorr="$DBI::errstr <br>\n";

  get_lock('litlelog.txt');
   open(AD ,">>litlelog.txt") || die "open file error";
   
   print AD "$url\n";
   print AD @_,"\n" if @_;
   print AD "$erorr\n";
   
   close(AD);
   relase_lock('litlelog.txt');
 }
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sub db_connect
{
$dbh = DBI->connect("DBI:mysql:ddd:localhost","ddd","ddd") || die "ccc";
    return $dbh;
}
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sub block_write  
{
my($word)=@_;
my $abnbanner;
$abnbanner=<<PAGE_HERE;  
<body background=../../img/color0.gif>
<table width=120 border=0 cellspacing=0 cellpadding=0 align=center>
<tr><td ><img src=../../img/error.gif width=120 height=10></td></tr>
<tr>
<td bgcolor=white height=50><div align=center>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=1>$word</font>
<a href=addevents.pl><FONT face=Verdana, Arial, Helvetica, sans-serif size=1 color=blue> эрчрф</font></a><br>
</div>
<br></td></tr><br></tr>
<tr><td ><img src=../img/niz.gif width=120 height=10></td></tr>
</table><br><br>
</body>
PAGE_HERE
return($abnbanner);
}
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@222
sub bwrite  
{
my($word)=@_;
my $abnbanner;
$abnbanner=header(-charset=>'Windows-1251');
$abnbanner.="<FONT face=Verdana, Arial, Helvetica, sans-serif size=1>$word</font>";
return($abnbanner);
}
#@@@@@@@@@@@@@@@@@@@@@22
sub bwrite2  
{my($word)=@_;

my $abnbanner;
print header(-charset=>'Windows-1251');

print "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../css.css\">$word";
exit 0;
}


#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@22
sub gzip
{

if(($ENV{HTTP_ACCEPT_ENCODING} || '') =~ /gzip/){
        
        
                $a = Compress::Zlib::memGzip($a);
                print "Content-Encoding: gzip\n";}

print header(-charset=>'Windows-1251')
}

1;




блин я так понимаю что кроме смены имя процедуры gzip() выхода нет
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 21.3.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



А что не так в изменении имени процедуры?


--------------------
PM   Вверх
frenkys
Дата 21.3.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



ну просто влом было лапатить 110 файликов в них везде сплоьзуеться эта процедура
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 21.3.2006, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Попытайся переместить использование модуля Compress::Zlib smile Либо напиши use Compress::Zlib::memGzip; у меня нет этого модуля...
Добавлено @ 00:35
Поэтому немного сложна моя помощь smile И тем более покажи код ГДЕ ИСПОЛЬЗУЕТСЯ эта процедура в других файликах smile


--------------------
PM   Вверх
frenkys
Дата 21.3.2006, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



ладно все понятно smile (гиблое дело)
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
nitr
Дата 21.3.2006, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Не понятно я б сказал использование... ужасный код smile Если нужно переопределить функцию, то можно использовать прототипы, но проще понять где и для чего используется эта процедурка. Воспользуйся указанием
use Compress::Zlib::memGzip;

проверь что у тебя будет без строки use Compress::Zlib; smile


--------------------
PM   Вверх
Kannabismus
Дата 21.3.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Тим Тоуди



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 20.11.2005

Репутация: 1
Всего: 2



Код

use Compress::Zlib();

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.