LINUX.ORG.RU

Perl празднует свой 20-ый день рождения!


0

0

18 декабря 1987 года Larry Wall выпустил первую версию этого языка. С годами он набрал заслуженную популярность и стал неотъемлемым инструментом в UNIX-системах.

Поздравляю всех!

>>> Подробности

Deleted

Проверено: Pi ()
Ответ на: комментарий от necromant

> Что не понятно в этой маленькой утилите?

хех... а почему такая большая? О.о

$ perl -e '@_=("0".."9","A".."Z","a".."z",split"","_#\@!\$%^&*()-+=|?<>,.");srand(time^$$ );print@_[map{rand(@_)}1..16],"\n"'

^_^

arsi ★★★★★
()
Ответ на: комментарий от arsi

<хех... а почему такая большая? О.о

TIMTOWDI. Чтобы показать, что на Perl тоже можно писать понятный и ясный остальному большинству код. Понятность кода сейчас цениться выше. Вообще советую многим почитать МакКонелла "Совершенный код", там и про "понятность" кода много написано.

Интересно сколько времени займёт у людей восприятие моего кода и вашей строчки?

necromant ★★
()
Ответ на: комментарий от necromant

> Чтобы показать, что на Perl тоже можно писать понятный и ясный остальному большинству код. [...] Интересно сколько времени займёт у людей восприятие моего кода и вашей строчки?

ну так вот мы тут дружно показали "размах" этого языка (ага, на перле еще и стихи писать можно) =) понятность кода в основном зависит от автора, и синтаксис языка это позволяет. но это ничуть не мешает написать "всё в одной строчке", что бывает полезно для "одноразовых" скриптов. а еще можно вспомнить фрозен-бабл как пример не совсем скриптового применения перла =)

arsi ★★★★★
()
Ответ на: комментарий от necromant

да, вспомнилось по поводу краткости языка... может кто читал вавилон-17 С.Диллени? там вспоминался язык, с помощью которого какая-то расса смогла на своем языке описАть девайс с помощью семи (???, или девяти?) коротких слов, по которых на их далекой планете инженеры смогли воссоздать абсолютно точную копию девайса, никогда его прежде не видев (оригинальное описание техпроцесса по созданию девайса на "человеческом" языке занимало несколько тысяч страниц, с чертежами). вот перл мне чем-то напоминает этот язык =) и я почти уверен, что он никогда не будет забыт, т.к. людям, им владеющим, дает возможность выражать свои мысли и желания в максимально короткой и, не побоюсь этого слова, УДОБНОЙ форме ;)

зы: да, я уже отмечаю =)

arsi ★★★★★
()
Ответ на: комментарий от arsi

> там вспоминался язык, с помощью которого какая-то расса смогла на своем языке описАть девайс с помощью семи (???, или девяти?) коротких слов

я всегда подозревал, что Перл - это язык инопланетян :D

> зы: да, я уже отмечаю =)

Заметно. Выпей там за здоровье Райдры Вонг :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Выпей там за здоровье Райдры Вонг :)

выпил. кстати, а кто это? о.О а то по запросу в картинках гугль мне выдал не хилую коллекцию аниме, но это скорее из-за прославленной гугловской системы учёта предыдущих поисков... кстати, спасиба за свежие аниме-картинки ^_^

arsi ★★★★★
()
Ответ на: комментарий от tailgunner

> Главная героиня "Вавилон-17" ;)

**пт, а ведь точно её так звали!!! =) самюеля читал лет пять назад %) красиво пишет, хотя ощущение "что курил аффтар и как он от этого не скончался" не покидает вплоть до прочтения последней строчки... и нескольких лет после ;)

arsi ★★★★★
()
Ответ на: комментарий от arsi

> какая-то расса смогла на своем языке описАть девайс с помощью семи (???, или девяти?) коротких слов, по которых на их далекой планете инженеры смогли воссоздать абсолютно точную копию девайса, никогда его прежде не видев (оригинальное описание техпроцесса по созданию девайса на "человеческом" языке занимало несколько тысяч страниц, с чертежами)

И как это согласуется с теорией информации? :)

ero-sennin ★★
()
Ответ на: комментарий от arsi

>да, вспомнилось по поводу краткости языка... может кто читал вавилон-17 С.Диллени? там вспоминался язык, с помощью которого какая-то расса смогла на своем языке описАть девайс с помощью семи (???, или девяти?) коротких слов, по которых на их далекой планете инженеры смогли воссоздать абсолютно точную копию девайса

http://ru.wikipedia.org/wiki/Ифкуиль

KRoN73 ★★★★★
()
Ответ на: комментарий от arsi

> а почему такая большая?

> perl -e '@_=("0".."9","A".."Z","a".."z",split"","_#\@!\$%^&*()-+=|?<>,.");srand(time^$$ );print@_[map{rand(@_)}1..16],"\n"'

Так у тебя тоже далеко не минимальная. :) Вызов srand вовсе не нужен, он и так вызывается при первом rand (подробности в "perldoc -f srand"). Да и некоторые скобки и кавычки можно сделать более читабельными. В общей сложности три десятка символов можно съекономить при увеличенной читаемости. Хотя всё же надо пробелы проставлять, а то это не дело, когда в программе ни единого пробела нет. :)

perl -le '@_=0..9,"A".."Z","a".."z",split//,q{_#@!$%^&*()-+=|?<>,.};print@_[map{rand@_}1 ..16]'

mihalych ★★★
()
Ответ на: комментарий от mihalych

> Рожденный ползать — летать не может!..

Точно. Еще добавлю - горбатого могила исправит.

tailgunner ★★★★★
()
Ответ на: комментарий от mihalych

> Рожденный ползать — летать не может!..

Если уж о животных заговорили, то в отличии от ползучих, Перл не только бегать, но и летать сможет. Perl 5.12 (не говоря уже о Perl 6) возможно над Парротом будет. Ух, полетаем. :-)

anonymous
()
Ответ на: комментарий от anonymous

> Perl 5.12 (не говоря уже о Perl 6) возможно над Парротом будет. Ух, полетаем. :-)

Детишки, очнитесь. Ввод промежуточной виртуальной машины работу только замедлит.

yk4ever
()
Ответ на: комментарий от yk4ever

Дятел какая промежуточная виртуальная машина? байт код даже в твоем сраном пистоне есть. И все примерно одинаково выглядит.

anonymous
()
Ответ на: комментарий от anonymous

>Если уж о животных заговорили, то в отличии от ползучих,
>Перл не только бегать, но и летать сможет. Perl 5.12
>(не говоря уже о Perl 6) возможно над Парротом будет.
>Ух, полетаем. :-)

А - ну да, как же :)

- IT?!?!?!?!? Какого Х?!?!?!
- Да у нас тут эта ... сервера ... полетееееели

anonymous
()
Ответ на: комментарий от mihalych

>> perl -e '@_=("0".."9","A".."Z","a".."z",split"","_#\@!\$%^&*()-+=|?<>,.");srand(time^$$ );print@_[map{rand(@_)}1..16],"\n"'

> perl -le '@_=0..9,"A".."Z","a".."z",split//,q{_#@!$%^&*()-+=|?<>,.};print@_[map{rand@_}1 ..16]'

по поводу скобок: надеюсь, вы всё же пробовали запускать свой код, и должны были заметить, что в генерируемой строке _нет_ альфанумерики ;) скобки всё же придется оставить:

perl -le '@_=(0..9,"A".."Z","a".."z",split//,q{_#@!$%^&*()-+=|?<>,.});print@_[map{rand@_ }1 ..16]'

а вот опция -l и числовой диапазон без кавычек -- это да, это хорошо =)

arsi ★★★★★
()
Ответ на: комментарий от borisych

> perl -le '@_=map{chr}(48..122);print@_[map {rand@_ }1 ..16]'

perl -e 'print chr 48 + rand 74 for 1..16'; echo

perl -le 'print map{chr 48+rand 74}1..16'

кто предложит меньше? ;)

arsi ★★★★★
()
Ответ на: комментарий от arsi

Я дошёл до такого же решения, но опоздал на 10 минут, посему стер как дубль. :) Только коды символов лучше от 32 до 126 гонять.

mihalych ★★★
()
Ответ на: комментарий от arsi

>кто предложит меньше? ;)

С произвольным количеством символов, только генератор случайных символов небезопасный и сильно проигрывающий по быстродействию :))) -

perl -e "print ($pwd=<>);"

necromant ★★
()
Ответ на: комментарий от necromant

> perl -e "print ($pwd=<>);"

perl -ne "print;exit"

или

head -n 1

^_^

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.