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


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Serge Shikov                         2:5020/400     22 May 2000  17:36:07
 To : All
 Subject : Re: каталоги на сайте
 -------------------------------------------------------------------------------- 
 
 Alexey Medvedev wrote:
 
 > 
 >  SS> если человек их знает - он начинает писать сразу, и достаточно
 >  SS> быстро.
 >     Hу тогда объясни мне скрипт, который печатает HelloWorld :
 > -------------------------------------------------------
 > #!/usr/bin/perl
 > $_=q$qsjou<vd<r<aia+<rr<bfmmp+<xpsme=\ob$;
 > y?<-@*-.b-z? -$+-/a-y?;s=\D+=$&=ee
 
 Да, так на этот скрипт у меня ушло еще примерно 5 минут... Дольше все
 это написать, чем понять. Объясняю:
 
 $_=q$qsjou<vd<r<aia+<rr<bfmmp+<xpsme=\ob$;
 
 Всего-лишь присваивание, тривиальное до безобразия. Переменной $_
 присваивается константа, заключенная в скобки $...$ Это такой способ
 квотить всего-лишь.
 
 y?<-@*-.b-z? -$+-/a-y?;
 
 Всего-лишь транслитерация - оператор y///. Разделитель - символ ?, все
 что между первыми двумя ?, заменяется на то, что между вторыми ??,  т.е. 
 
 <-@*-.b-z
 
 заменяется на
 
  -$+-/a-y
 
 Что получится из строки qsjou<vd<r<aia+<rr<bfmmp+<xpsme=\ob, если
 заменить < на пробел и т.п., надо рассказывать? Да, запись a-y означает
 все символы от a до y.
 
 Hу и последнее:
 
 s=\D+=$&=ee
 
 это оператор s///ee, в качестве разделителя вместо / - символ '='. \D+,
 т.е. последовательность из одной и более не-цифры заменяется на $&. Как
 это работает, что такое $&, и почему получается Hello, world! - это
 простое домашнее задание еще на 5 минут.
 
 --- ifmail v.2.15dev5
  * Origin: home (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: каталоги на сайте   Serge Shikov   22 May 2000 17:36:07 
Архивное /ru.website/2825c9823a94.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional