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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Eugene Bodin                         2:5020/400     18 Sep 2000  07:43:59
 To : All
 Subject : Re: hash via subroutine
 -------------------------------------------------------------------------------- 
 
 Hello Serge,
 
 Serge Matveev <Serge.Matveev@f182.n5030.z2.fidonet.org> wrote:             
                
 SM> 
 SM> A> #!/usr/bin/perl
 SM> A> @frm='From: @from@ Date: @date@
 
 # (skipped)
 
 SM> 
 SM> A>   &show_frm(\%h);
 SM> 
 SM> A> sub show_frm {
 SM> A>      local *m = shift;
 SM> A>      foreach $_ (@frm) {
 SM> A>        s/@([a-z]*)@/$m{$1}/g ;
 SM> A>        print $_;
 SM> A>      }
 SM> A> }
 SM> 
 SM>     Я торможу, наверное. Hо почему этот s/// изменяет не только $_, но
 
 и @frm?
 
 Потому что $_ в конструкции "for (LIST){}" служит чем-то вроде ссылки на
 значения списка.
 В "Perl Cookbook" (книга с бараном или кто там нарисован?) так и написано
 (стр.123):
 =cookbook
 Модификация списков в цикле foreach оказывается более понятной и быстрой, 
 чем в эквивалентном коде с циклом for и указанием конкретных индексов.
 Это не ошибка: такая возможность была намеренно предусмотрена
 разработчиками языка.
 Hе зная о ней, можно случайно изменить содержимое списка.
 Теперь вы знаете.
 =cut 
 
 Regards,
        Eugene
 --- ifmail v.2.15dev5
  * Origin: Fairness has no quantitive measurement (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 hash via subroutine   Apple   17 Sep 2000 00:32:29 
 hash via subroutine   Serge Matveev   18 Sep 2000 01:00:06 
 Re: hash via subroutine   Roman Yu. Panichkin   18 Sep 2000 05:43:52 
 hash via subroutine   Serge Matveev   18 Sep 2000 10:41:06 
 Re: hash via subroutine   Eugene Bodin   18 Sep 2000 07:43:59 
 hash via subroutine   Serge Matveev   19 Sep 2000 00:18:30 
Архивное /ru.perl/1109190a07d2e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional