Pull to refresh

Comments 17

Ну, то что в ffox 3 скрипт отрабатывает, ещё не означает, что он во всех браузерах будет отрабатывать — следовательно, статистика может быть неполной.
Поэтому я бы вывел-таки gif. Тем более, что там дел на две секунды.

print «Content-type: image/gif\n\n»;
open GIF, '0.gif';
while () { print }
Ээ. Прошу пардона, съелись угловые скобки.
while (<GIF>) { print }
Это понятно.
Мне непонятно только зачем. Т.е. ссылка идёт на скрипт, а не на картинку — поэтому что бы не было ошибки и была всегда обработка, нужно в конце скрипта отдать пустышку?
За что и почему? Таки вы расовый приверженец CGI (самого модуля, а не технологии)?
Тому что нечего тащить похопе-привычки в наш няшный перл.
А за объявление всех переменных в начале скрипта надо руки отрывать.
Расскажите лучше, в чем сакральный смысл кучи андефов при выходе?
А чем вам не угодило объявление всех переменных в начале скрипта?
1) Это дурной тон. Для того, чтобы посмотреть, my она или our приходится лезть в начало скрипта.
2) Это ловля проблем с областями видимости при больших объемах кода.
По-моему, это вопрос стиля.
Андефы, как и объявление переменных — хороший тон программирования.
В начале объявляем, в конце (или нужном нам конце — к примеру в сабе) — андеф.

И это не php-привычки. Скорее вы невнимательно читали описание.
Как иначе узнать, что и где не так работает?
Лезть в логи апача? А если у меня только фтп?
Это удобство и простота.
Андефы в вашем коде не несут вообще никакой полезной нагрузки (если вам платят не за кол-во строк кода, конечно) поскольку после них скрипт все-равно умрет.
Почему все переменные в начале — плохо, я рассказал выше.

>Это удобство и простота.
Это костыли, чужеродный синтаксис и запутывание кода для тех, кто не знает о CGI::WebOut.
Я согласен в том, что в данном коде андефы не нужны. Это просто вопрос стиля и привычки.
Но костылями это назвать сложно, т.к. в противовес вы ничего не привели.
Красивый код. Не часто такое сейчас увидишь в perl сообществе. Хотя конечно некоторые моменты автор Perl Underground обхаял. :-)
Можно пример обхаивания, а то что-то не понял.
сейчас точного места не найду, но он писал, что писать вот так
$body .= "Referer: $ref\n";
хреново, т.к. компилятору нужно открыть скобки, вычислить переменную, опять все в скобки запихнуть. А правильно вот так:
$body .= "Referer: ",$ref,"\n";
И отрабатывать такой код должен быстрее, конечно же при условии большого кол-ва вызовов такого вида.
Замечания: надо управлять кешированием, и выдавать все таки гифку точечную.

my @gif = qw(47 49 46 38 39 61 01 00 01 00 80 00 00 c0 c0 c0 00 00 00 21 f9 04 01 00 00 00 00 2c 00 00 00 00 01 00 01 00 00 02 02 44 01 00 3b);

...

print "Status: 200\n";
print "Content-Type: image/gif\n";
print "Pragma: no-cache\n";
print "Cache-control: no-cache\n";
print "Content-Length: $@gif\n";
print "Accept-Ranges: none\n";
print "\n";
print map {pack "c", hex $_} @gif;


и НЕ вставлять в блок с display:none;!


Sign up to leave a comment.

Articles