Forum Webscript.Ru

Программирование => Perl => Тема начата: Phoinix от 05 Октября 2004, 09:37:33

Название: использование strict и warnings
Отправлено: Phoinix от 05 Октября 2004, 09:37:33
В скриптах использую
use strict;
use warnings;

Имеет ли смысл после отладки и тестирования скрипта убирать эти прагмы?

Изменение скрипта не предвидится, а если и предвидится то не самого скрипта, а его исходного файла...
Название: использование strict и warnings
Отправлено: arto от 05 Октября 2004, 11:09:05
про последнее предложение поподробне...
Название: использование strict и warnings
Отправлено: Phoinix от 05 Октября 2004, 11:14:27
arto

В общем, это не имеет никакого отношения к вопросу, но в сприптах прописаны некоторые абсолютные пути, которые при установке скрипта устанавливаются в соответсвии с его местоположением...
То бишь при установке я вырезаю все комментарии, прописываю пути и т.д. вопрос в том, что отладка его уже не производится, зачем тогда лишние прагмы?
Название: использование strict и warnings
Отправлено: arto от 05 Октября 2004, 11:34:09
можно не использовать.
Название: использование strict и warnings
Отправлено: Green Kakadu от 05 Октября 2004, 11:38:45
Цитировать
что отладка его уже не производится, зачем тогда лишние прагмы?

:) а может она до конца не доведена.. так хоть ругнется, если что.
Название: использование strict и warnings
Отправлено: Wyclef от 05 Октября 2004, 11:56:54
# use warnings;
# Практически всегда убираю, если не забываю или не использую -
# зачем лишний раз волноваться. ;) ...и мусорить в логах.
Название: использование strict и warnings
Отправлено: Phoinix от 05 Октября 2004, 12:46:34
Green Kakadu
Ну если ругнется, все-равно логи есть, хотя предупреждений и не будет но это не критично...

В любом случае исходный скрипт есть и всегда в рабочем состоянии, на нем можно и проверить будет...

Wyclef
Я вот тоже волнуюсь... проверить что все переменные на 100% инициализированы довольно трудно... и логи растут...

А как быть с use strict???
Название: использование strict и warnings
Отправлено: NeoNox от 05 Октября 2004, 12:55:08
Phoinix
вот уж не думал что придется тебя отсылать к ФАКу...
Получай раз: http://forums.webscript.ru/showthread.php?s=&threadid=9932&msgnum=0
и два:
http://www.perldoc.com/perl5.8.4/pod/perlstyle.html
Название: использование strict и warnings
Отправлено: Phoinix от 05 Октября 2004, 13:37:44
NeoNox
:) Да нет... я не отказываюсь от использования этих прагм, я их и использую все время...

Просто хочется немного съэкономить памяти просто их не включая...

Опять же perlstyle я читал и свято учитываю его рекомендации... :) но опять же интерпритатору - пофиг мои комментарии, он их не читает, а на моем серваке крутится порядка 20 одинаковых скриптов для каждого домена + на других серваках тоже, обновляются они все от одного скрипта, и исправления я в него вношу, что бы не запутаться... а так желания отпадает лезть в другие...
Название: использование strict и warnings
Отправлено: Green Kakadu от 05 Октября 2004, 14:57:28
2Phoinix
хорошее желание.

 .. еще  для "оптимизации" и повышения произ-ти рекомендуют включать
 use integer;

если нет операций с плавающей точкой - лучше об этом интерпритатору сказать.
Название: использование strict и warnings
Отправлено: NeoNox от 05 Октября 2004, 15:36:56
Green Kakadu perldoc less (;
Название: использование strict и warnings
Отправлено: Phoinix от 05 Октября 2004, 16:48:06
To All

Вопрос отпал сам собой... я все-равно использую strict и warnings, если не в основном скрипте, так в модуле к нему... что, практически, равносильно по загрузке... :)

Green Kakadu
use integer; - спасибо, но не поможет...
Название: использование strict и warnings
Отправлено: arto от 05 Октября 2004, 18:30:45
# cat > a.pl
#! /usr/bin/perl

use strict;
use warnings;

exit;
^D
# cat > b.pl
#! /usr/bin/perl

exit;
^D
# chmod +x ?.pl
# perl -MBenchmark=:all -e "timethese (\\$ARGV[0],{\'A\' => \'system (\\"./a.pl\\");\',\'B\' => \'system (\\"./b.pl\\");\'});" 10000
Benchmark: timing 10000 iterations of A, B...
         A: 116 wallclock secs ( 0.29 usr  3.17 sys + 80.23 cusr 22.76 csys = 106.45 CPU) @ 2890.17/s (n=10000)
         B: 41 wallclock secs ( 0.41 usr  4.02 sys + 20.55 cusr 15.29 csys = 40.27 CPU) @ 2257.34/s (n=10000)
#
Название: использование strict и warnings
Отправлено: NeoNox от 05 Октября 2004, 19:17:05
arto даже не вопрос, но есть много путей заставить скрипт работать дольше при выключенных стрикте и варнинге.
Название: использование strict и warnings
Отправлено: arto от 05 Октября 2004, 22:47:16
тут два одинаковых скрипта, отличающихся только use {warnings,strict};
Название: использование strict и warnings
Отправлено: Forza от 13 Октября 2004, 19:05:34
Цитировать
Green Kakadu:
.. еще для "оптимизации" и повышения произ-ти рекомендуют включать
use integer;

если нет операций с плавающей точкой - лучше об этом иртерпритатору сказать.


"use integer;" говорит только об этом?
Дело в том, что прочитав этот тред, я вписал себе в скрипт use integer;. На локалхосте всё работало нормально, а у хостера при включенном use integer; стали глючить функции модуля CGI. Например, url(-query=>1) выводила /cgi-bin/script.pl вместо http://www.site.ru/cgi-bin/script.pl?query_string.

[OFF]и я ещё далеко не сразу нашёл причину глюков :mad:[/OFF]