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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Pavel Kurnosoff                      2:5030/736.25  01 Apr 2000  00:04:13
 To : Andrew Konovalov
 Subject : Re: злой скpипт 8-)
 -------------------------------------------------------------------------------- 
 
 
  AK>     Кто-нибyдь может объяснить мне, как вот *ЭТО* выводит "Hello, World!"
  AK>     -
  AK> #!/usr/bin/perl
  AK> $_=q$qsjou<vd<r<aia+<rr<bfmmp+<xpsme=\ob$; 
  AK> y?<-@*-.b-z? -$+-/a-y?;s=\D+=$&=ee
  AK>     Ооочень интеpесно!
 
 легко (с)
 ну, для начала приведем к более читабельному виду, разделив на очевидные блоки:
 #!/usr/bin/perl
 $_='qsjou<vd<r<aia+<rr<bfmmp+<xpsme=\ob';
 tr/<-@*-.b-z/ -$+-\/a-y/;
 s/\D+/$&/ee
 
 ну, первая строка понятно. 
 вторая - приводим $_ в нормальный вид: 
 print uc q aha, qq aello, world!\na, что означает
 print uc 'h', "ello, world!\n"
 третья - дословно, заменить подстроку из нецифорвых символов (т.е. в нашем
 случае всю строку) на рез-тат выполнения оной подстроки, который на самом деле
 попутно выведет текст на экран.
 
 вобщем, не такой уж ты страшный, бэтмэн! (с) анекдот :)
 
 зы: пишутся такие вещи ессно в обратном порядке, т.е. постепенно навешивают
 ненужные, но пудрящие мозги, замены, трансляции, пользуются тем, что
 разделителем в s/m/tr/y/q/qq может быть любой символ и т.д.
 -- 
 // pavel f. kurnosoff                        -[ICQ:4590687]-[pqr@yasp.com]...
 --- Gnus v5.5/XEmacs 20.4 - "Emerald"
  * Origin: live like there's no tomorrow (2:5030/736.25)
 
 

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

 Тема:    Автор:    Дата:  
 злой скpипт 8-)   Andrew Konovalov   31 Mar 2000 17:15:45 
 злой скpипт 8-)   Oleg Bakiev   31 Mar 2000 23:12:27 
 Re: злой скpипт 8-)   Pavel Kurnosoff   01 Apr 2000 00:04:13 
 Re: злой скpипт 8-)   Dmitriy Goldobin   01 Apr 2000 14:45:45 
Архивное /ru.perl/3959c0705ec0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional