Re: Shell, Perl

2012-07-03 Пенетрантность Артём Н.
03.07.2012 08:23, Ivan Shmakov пишет:
   И да, как мне кажется, я все же научился писать читаемый код на
   Perl.  Изучив Scheme.
Перспективно... :-)

  АН Так причём тут проверка в конфиге?  Достаточно проверки в
  АН загрузчике конфига:
 
  AH config:
 
  АН OPT_PARAM1=123
 
  АН Скрипт:
 
  АН . config
  АН OPT_PARAM1=${ENV_USER_PARAM1-:OPT_PARAM1}
 
  AC Можно.  Но обычно удобнее в конфиге написать
 
  AC OPT_PARAM1=${OPT_PARAM1:-value1}
 
  AC и позволить пользователю переопределять именно OPT_PARAM_1,
  AC использование которой он потом увидит, а не неочевидно с нею связанную
  AC ENV_USER_PARAM1
 
   BTW, есть и более короткий вариант:
 
 : ${VARN:=VALUE}
Тоже вариант. Просто я все подстановки не помню.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ff34032.3080...@yandex.ru



Shell, Perl

2012-07-02 Пенетрантность Ivan Shmakov
 AC == Artem Chuprina r...@ran.pp.ru writes:
 Артём Н.  @ Sun, 01 Jul 2012 14:35:40 +0400:

[…]

 AC Я скрипты, от которых хочу надежности, обычно на перле пишу,
 AC учитывая, что в Debian

 AC Package: perl-base

 AC Priority: required

 АН o.O Perl, кажется, похож на автомат со снятым предохранителем,
 АН направленный в ноги?

 AC Многое зависит от наличия головы ;-)  Никто не мешает писать в
 AC каждом перловом файле use strict;

Возможно даже:

use strict;
use warnings;

Авторы use common::sense, впрочем, утверждают, что use warnings
слишком уж требователен к ресурсам.

 AC и даже запускать его с -T.  Ну и эта...  Все его короткие
 AC варианты под девизом Do The Right Thing - они для однострочников.
 AC В скриптах, от которых требуется надежность, никто не запрещает
 AC использовать более многословные варианты,

В частности, use English.

 AC и даже иногда что-нибудь проверять :-)

Еще можно вспомнить возможность разделить единственный файл
исходного кода на несколько модулей, подобно:

package My::Foo;

# Code

package My::Bar;

# Code

package main;

# Code

Бывает полезно с точки зрения предотвращения доступа к «чужим»
переменным.  (И упрощает последующее выделение кода в отдельные
пакеты для размещения на CPAN.)

И да, как мне кажется, я все же научился писать читаемый код на
Perl.  Изучив Scheme.

[…]

 АН Так причём тут проверка в конфиге?  Достаточно проверки в
 АН загрузчике конфига:

 AH config:

 АН OPT_PARAM1=123

 АН Скрипт:

 АН . config
 АН OPT_PARAM1=${ENV_USER_PARAM1-:OPT_PARAM1}

 AC Можно.  Но обычно удобнее в конфиге написать

 AC OPT_PARAM1=${OPT_PARAM1:-value1}

 AC и позволить пользователю переопределять именно OPT_PARAM_1,
 AC использование которой он потом увидит, а не неочевидно с нею связанную
 AC ENV_USER_PARAM1

BTW, есть и более короткий вариант:

: ${VARN:=VALUE}

[…]

-- 
FSF associate member #7257


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/86r4stcw1n.fsf...@gray.siamics.net