Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dmitriy Goldobin                     2:5020/400     05 May 2000  10:23:28
 To : All
 Subject : Re: some q
 -------------------------------------------------------------------------------- 
 
 Hi!
 
 Докапываться до _стиля_ занятие неблагодарное. Одно дело ошибки,
 другое стиль. Если у человека cfg также недоступен посторонним людям
 как и pl, то почему бы и не держать в нем код? А по стилю можно
 придраться к _любому_ коду. Хочешь до твоего докопаюсь?
 
 > #!/usr/local/bin/perl -w
 > use strict;
 >
 > my %conf;       # configuration array and filename
 > my $config_file = substr ( $0, 0, rindex ( $0, '.' ) ) . '.cfg';
 
 (my $config_file = $0) =~ s|(\.[^./\\]*)?$|.cfg|;
 скрипт не обязан иметь расширение.
 > open ( CONF, $config_file ) or die "Can't open $config_file $!";
 > while ( <CONF> ) {
 >         chomp;
 >         next if /^#/;
 >         my ( $key, $value ) = split '=', $_, 2;
 >         unless ( $value ) {
 >                 while ( <CONF> ) {
 >                         chomp;
 >                         last if $_ eq '=';
 >                         $value .= $_;
 >                 }
 >         }
 >         ( $conf { $key } = $value ) =~ s/\\n/\n/go;
 > }
 > close ( CONF );
 
 что будет если в одной из строк забудут '=', вставят до или после него
 пробел или окажется пробел после '=' завершающего блок? Если значением
 параметра должна быть путая строка? Hафиг такую многоcрочность.
 Синтаксис конфига получается еще более чувствителен к пробелам чем
 ненавистный мне makefile. Я бы например немного покороче написал:
 
 my %conf = map { /\s*(.*?)\s*=\s*(.*?)\s*$/ } <CONF>;
 
 но это отнюдь не значит что у меня 'правильнее' чем у тебя. Это
 только вопрос стиля. Каждый пишет как ему нравится.
 
 Bye.
 --- ifmail v.2.15dev5
  * Origin: Electronic Microsystems JSC (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: some q   Dmitriy Goldobin   05 May 2000 10:23:28 
Архивное /ru.perl/2195681a8d559.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional