Perl
от Всичко за 1 лев, свободната енциклопедия
Версия от 11:46, 18 яну 2010 KYPBATA (Беседа | приноси) ← Go to previous diff |
Текуща версия XPucTu4 (Беседа | приноси) По същество |
||
Ред 11: | Ред 11: | ||
В Perl има и регулярни изрази, с които могат да се обработват текстови данни по зададен шаблон. Използва се най-вече в софтуера за черни магии при неопределени заклинания. | В Perl има и регулярни изрази, с които могат да се обработват текстови данни по зададен шаблон. Използва се най-вече в софтуера за черни магии при неопределени заклинания. | ||
- | Perl е единственият език който изглежда по един и съще начин преди и след криптиране. | + | Perl е единственият език който изглежда по един и същ начин преди и след криптиране. |
+ | Perl е единственият език в който можете да ударите с глава по клавиатурата и той да се компилира. | ||
+ | |||
+ | Честа практика е първо да се напише софтуер на Perl, и след това да се търси за какво може да бъде използван. Стар и често използван трик е да се пусне stderr през uniq. Ако сте сигурни, че нещо НЕ е написано на Perl, пробвайте го в интерпретатора - обикновенно работи. | ||
+ | |||
+ | ==Сорс код и коментари== | ||
+ | Извадките са от сорса на Perl v4. Някой от тях може да са там и днес. | ||
+ | |||
+ | cons.c | ||
+ | double value; /* or your money back! */ | ||
+ | short changed; /* so triple your money back! */ | ||
+ | /* now make a new head in the exact same spot */ | ||
+ | |||
+ | |||
+ | perl.c | ||
+ | #define NULL 0 /* silly thing is, we don't even use this */ | ||
+ | #define SIGILL 6 /* blech */ | ||
+ | if (rsfp = mypopen('/bin/mail root','w')) { /* heh, heh */ | ||
+ | |||
+ | stab.c | ||
+ | /* And you'll never guess what the dog had */ | ||
+ | /* in its mouth... */ | ||
+ | break; /* don't do magic till later */ | ||
+ | stab_val(stab)->str_nok = 1; /* what a wonderful hack! */ | ||
+ | tmps_base = tmps_max; /* protect our mortal string */ | ||
+ | |||
+ | util.c | ||
+ | pos += screamnext[pos] /* does this goof up anywhere? */ | ||
+ | str->str_pok |= SP_FBM; /* deep magic */ | ||
+ | s = (unsigned char*)(str->str_ptr); /* deeper magic */ | ||
+ | |||
+ | |||
+ | |||
+ | cmd.c | ||
+ | /* we have tried to make this normal case as abnormal as possible */ | ||
+ | |||
+ | doio.c | ||
+ | s = (char*)(long)retval; /* ouch */ | ||
+ | |||
+ | doarg.c | ||
+ | signal(i, SIG_DFL); /* crunch, crunch, crunch */ | ||
+ | |||
+ | eval.c | ||
+ | if (instr(buf,sys_errlist[errno])) /* you don't see this */ | ||
+ | |||
+ | hash.c | ||
+ | /* dbmrefcnt--; */ /* doesn't work, rats */ | ||
+ | |||
+ | str.c | ||
+ | #else /* !STDSTDIO */ /* The big, slow, and stupid way */ | ||
+ | |||
+ | toke.c | ||
+ | /* This bit of chicanery makes a unary function followed by a parenthesis into a function with one argument, highest precedence. */ | ||
+ | |||
[[Категория:Програмни езици]] | [[Категория:Програмни езици]] | ||
[[Категория:Сатанизъм]] | [[Категория:Сатанизъм]] |
Текуща версия
Истерията
Perl - любимият език за програмиране на Дявола и неговите поклоници. Първоначално езикът бил кръстен Pearl, по библейската притча за царството небесно и перлата. Естествено, Дяволът обича да се намесва във всичко с библейски корени и покварил езика, за да не могат програмистите да отидат в рая.
В крайна сметка имаме Perl.
По същество
Perl е най-доброто средство за управление на процеса на създаване на неуправляем код. За всяка програма, написана на Perl с над хиляда реда код, е емпирично доказано, че след пет часа следобед не е известно какво прави, а след още пет минути прави нещо друго. Като следствие най-добрата методология за писане програми на Perl е програмистът да не знае какво прави и да се опита да направи нещо друго. Тези му свойства го правят изключително добре приложим за създаване на софтуер за хороскопи и черни магии. Подвластните често употребяват засукани заклинателни думи като TIMTOWTDI, timtoday, !@#$%~`(()&-+*/-\q,.<>?:;q[]{} и прочие. Поради паганистичния характер на култа поведението на кода силно зависи от фазата на луната и необяснимите космически сили. На Perl е доказано, че може да се напише програмата, която прави всичко, само на един ред с бъг. Всяка програма по-голяма от един екран съвсем закономерно развива собствен интелект, воля и се оформя като отделна личност водеща свой собствен живот.
Perl има изключително гъвкав синтаксис, което позволява логиката на една програма да бъде вързана на фльонга. Позволява описването на житейски сентенции като: live() or die;, rock() and roll(); и пр.
В Perl има и регулярни изрази, с които могат да се обработват текстови данни по зададен шаблон. Използва се най-вече в софтуера за черни магии при неопределени заклинания.
Perl е единственият език който изглежда по един и същ начин преди и след криптиране. Perl е единственият език в който можете да ударите с глава по клавиатурата и той да се компилира.
Честа практика е първо да се напише софтуер на Perl, и след това да се търси за какво може да бъде използван. Стар и често използван трик е да се пусне stderr през uniq. Ако сте сигурни, че нещо НЕ е написано на Perl, пробвайте го в интерпретатора - обикновенно работи.
Сорс код и коментари
Извадките са от сорса на Perl v4. Някой от тях може да са там и днес.
cons.c
double value; /* or your money back! */ short changed; /* so triple your money back! */ /* now make a new head in the exact same spot */
perl.c
#define NULL 0 /* silly thing is, we don't even use this */ #define SIGILL 6 /* blech */ if (rsfp = mypopen('/bin/mail root','w')) { /* heh, heh */
stab.c
/* And you'll never guess what the dog had */ /* in its mouth... */ break; /* don't do magic till later */ stab_val(stab)->str_nok = 1; /* what a wonderful hack! */ tmps_base = tmps_max; /* protect our mortal string */
util.c
pos += screamnext[pos] /* does this goof up anywhere? */ str->str_pok |= SP_FBM; /* deep magic */ s = (unsigned char*)(str->str_ptr); /* deeper magic */
cmd.c
/* we have tried to make this normal case as abnormal as possible */
doio.c
s = (char*)(long)retval; /* ouch */
doarg.c
signal(i, SIG_DFL); /* crunch, crunch, crunch */
eval.c
if (instr(buf,sys_errlist[errno])) /* you don't see this */
hash.c
/* dbmrefcnt--; */ /* doesn't work, rats */
str.c
#else /* !STDSTDIO */ /* The big, slow, and stupid way */
toke.c
/* This bit of chicanery makes a unary function followed by a parenthesis into a function with one argument, highest precedence. */