Новости от FreeInet, Word, Skin, про нежность, ASP lib
Обновления на странице проекта FreeInet. Изменения коснулись информации по доступу в Интернет из города Москва.
Информация предоставлена человеком с аськой 100077.
Мучал сегодня вордовый анализатор текста, тот который выдает статистику удобочитаемости. В частности мне было интересно, как этот монстр оценивает показатели легкости чтения, особенно «уровень образования».
Оказывается считает он все это не абы как, а по особой методике, сплошь состоящей из кучи формул. Заинтересовавший меня «уровень образования», например, «основан на образовательном индексе
Сами формулы я не смотрел, но у меня есть сомнения, подтверждаемые опытом, что такие величины вообще
Для примера я взял слова «физиотерапия» и «аааа». Так вот, для того, что бы прочитать первое слово вам (как и мне), по мнению Ворда, нужно обладать уровнем образования 20 (15 — последний курс ВУЗа), а второе — 8,8. ;)
Не ожидал, что, обороненная вскользь, просьба подарить адекватный русскоязычный термин к слову «skin» вызовет такой приток писем и сообщения по аське. Подарили. Шуба, одежда, обои, морда, шкура, носок (нда… :), балахон. Всем спасибо. :) Мне понравились «шкура», ну и еще, пожалуй, «носок».
P.S. Кстати, хорошая загадка придумалась: слово из восьми букв с одной только гласной. (отгадка: вскользь).
Словаpь нежных слов v 3.63 от 17/11/1997 г. 363 нежных слова для вашей любимой. Несмотря на дату
Напоследок весьма полезная ссылка. Когда я начал программировать на ASP, с удивлением обнаружил, что в этом, предназначенном для разработки сайтов языке, нет обработки заливки файлов через браузер (FILE-форм). Ну нет и нет, вот в Perl тоже нет, но в последнем, в отличие от детища старика Билли, есть методы работы с бинарными файлами (MidB и присные пробуксовывают на \0). Кроме того, обработка заливки хотя бы и текстовых файлов с порядком 2МБ на ASP занимает оооочень длительное время.
Так вот. Проблема решается при помощи сторонних ActiveX-компонентов. Например, я пользовался ASPUpload. Задачу поиска всего этого добра облегчает следующая ссылочка на небольшой сайтик, где, силами самих посетителей все это хозяйство собирается и копится. А вот, собственно, и сама ссылочка.
99 бутылок: РАПИРА (КИ) и VIRT
18. РАПИРА. Точнее некий диалект языка РАПИРА для Конструктора Исполнителей.
Среда разработки и диалект мне не понравились. Не запоминаются положения и размеры окон, расцветка хромает, после вывода ошибки происходит выход, не хватает множества функций, синтаксис, не смотря на заявление разработчика,
Сам язык РАПИРА (расшифровывается, как «Расширенный Адаптированный
Программа, выводящая песню о пиве (Panupa для Конструктора Исполнителей).
// Песня о пиве. Написал Степанищев Евгений
фун встр (и)
старш:= и/10
младш:= и mod 10
если старш>0
возврат симв(48+старш)+симв(48+младш)
иначе
возврат симв(48+младш)
всё
кон фун
фун пиво (и)
если и=0
стр:= 'No'
иначе
стр:= встр (и)
всё
стр:= стр+' bottle'
если и<>1
стр:= стр+'s'
всё
возврат стр
кон фун
проц старт()
для и от 99 до 1 шаг -1
печать пиво (и)+' on the wall, '+пиво (и)+'.'
печать 'Take one and pass it around,'
печать пиво (и-1)+' on the wall.'
печать ''
кц
печать 'No more bottles of beer...'
печать 'Go to the store and buy some more...'
печать '99 bottles of beer.'
кон проц19. VIRT.
Пара слов о реализации. Отступы в программе осуществляются при помощи пробелов, табуляции интерпретатор не любит, кроме того не любит он пробелов между именем функции и скобками. Но это не самое странное. Реализованный язык, по всей видимости, не дает использовать многобуквенные переменные, по крайней мере внутри функций. Так что, если вдруг, будьте внимательны.
На сайте есть компонент (45$) для Delphi, позволяющий использовать интерпретатор в качестве внутреннего языка
Программа, выводящая песню о пиве (beer.w).
-- Песня о пиве. Написал Евгений Степанищев
function PrintBeer(n)
s := ''
if n<>0 then
s := s+str(n)
else
s := s+'No'
end
s := s+' bottle'
if n<>1 then
s := s+'s'
end
return s+' of beer'
-- Main program
P := 99
While P Do
Writeln( PrintBeer( P )+' on the wall, '+PrintBeer( P )+'.' )
Writeln( 'Take one and pass it around,' )
P := P-1
Writeln( PrintBeer( P )+' on the wall.'+EOL() )
End
Writeln( 'No more bottles of beer...' )
Writeln( 'Go to the store and buy some more...' )
Writeln( '99 bottles of beer.')
returnПроект «Изголовье», Cmart, warez
Сегодня на полдня остался без Интернета. К перебоям в местной сети приплюсовались проблемы на М9. У господ из АО «Ростелеком» возникли «непредвиденные проблемы при замене фидеров центрального узла».
В Интернете появился еще один интересный проект. На сайте «Изголовье» можно узнать, как воспринимают наш мир настоящие программисты. :) В разделе «Аманез», к примеру, собраны случаи, когда человек видит окружающий мир продолжением компьютера.
Лично со мной такое, происходило неоднократно. От попыток найти мышку у телевизора, до попыток «сохранить» закат, что бы использовать его как «обои» в Windows. :) В общем загляните — не пожалеете, ссылочка — внизу.
Ссылку предоставил Head
Сегодня на сайте Кулера появилась ссылочка на один очень неплохо сделанный Flash-сайт. Безусловно, посмотреть есть на что. Сходите, только запаситесь терпением, флешки там размером
Но мне, все же, больше нравится Flash, сделанный дизайнером Cmart. Сказать
Кстати, создание на скриншоте справа будет сопровождать вас при просмотре меню, в движении все это смотрится изумительно. Сайт стоит посетить и тем ем, кто был там раньше. Cmart недавно сменил дизайн.
Теперь, что касается warez’a.
Дело PostgreSQL движется к победному концу. В смысле выпуску релиза. Судя по списку изменений в версии 7.1 Realise Candidate 2, релиз, этот самый, не за горами. Уже который раз, что бы не сомневались, повторю: жду с нетерпением.
Мир Windows порадовал меня, и, возможно,
Кстати, меня всегда интересовало, что же такого до сих исправляет в полуразложившимся Netscape 4.xx команда его разработчиков. Хотя бы указывала
На сегодня это все. Завтра можно не заходить — будет очередная победная песня о пиве. Первый язык —
99 бутылок: PasScript, ActionScript
20. PasScript. Можно сказать, что это VIRT со всеми присущими ему особенностями и конструкциями (например, «P << [[ 70, 5], <<P]»), только с синтаксисом Object Pascal. Из глюков интерпретатора я заметил нежелание конструкции «for» работать с переменными типов «byte» и «word», плюс конструкция «writeln» сначала печатает перевод строки и только потом —свой параметр.
Скрипт, выводящий песню о пиве (beer.pas)
// Beer song. Written by Evgeny Stepanischev
program Beer;
procedure PrintBeer( n: byte );
begin
if n<>0 then write (n)
else write ('No');
write (' bottle');
if n<>1 then write ('s');
write (' of beer');
end;
var
I: integer;
begin
for I:=99 downto 1 do
begin
PrintBeer (I);
write (' on the wall, ');
PrintBeer (I);
write ('.');
writeln ('Take one and pass around,');
writeln ();
PrintBeer (I-1);
write (' on the wall.');
writeln ();
writeln ();
end;
write ('No more bottles of beer...');
writeln ('Go to the store and buy some more...');
writeln ('99 bottles of beer.')
end.21. ActionScript5. Внутренний язык Flash5. По виду очень похож на JavaScript (если не считать «add», обязательные точки с запятой и прочие мелочи), даже многие предопределенные объекты те же, но по идеологии — нет. Например, как в JavaScript осуществляется доступ
Из интересных особенностей интерпретатора… ActionScript от версии к версии сильно изменяется. Вплоть до несовместимости. Так вот, если интепретатору подсунуть Flash предыдущей версии, он выполняет все необходимые преобразования в ActionScript за программиста, комментируя все свои действия.
Скрипт, выводящий песню о пиве.
// Beer song. Written by Evgeny Stepanischev
function PrintBeer (i)
{
return (i?i:'No') add ' bottle' add (i-1?'s':'') add
' of beer';
}
for (i = 99; i>0; i--)
{
trace ((b=PrintBeer (i)) add ' on the wall, ' add b add '.');
trace ('Take one down and pass it around,');
trace (PrintBeer (i-1) add ' on the wall.\n');
};
trace ('No more bottles of beer...\n' add
'Go to the store and buy some more...\n' add
'99 bottles of beer.');
FreeInet, warez, М$ отличился, JS1.5, T-288C, readme
Новостей сегодня — воз и маленькая тележка.
Проект FreeInet, несколько дней был доступен только москвичам. Хорошая новость: список точек доступа вырос до прежней величины. Скрипты и телефоны дозвона можно забрать по следующему адресу: freeinet2001.chat.ru. Заходите, пока опять не закрылся. :)
Информация предоставлена человеком с аськой 100077
Из warez’a. Вышел PostgreSQL 7.1RC3. :)) Меня это все уже немного утомило, но я все еще не теряю надежду на появление релиза. :)
Кроме того, появился
Компания Микрософт заботится о нас… Не так давно (в версии
Такой вот формат хранения контента страничек. Так как формат разделенный, в фирме Микрософт решили все это дело
Поясняю. Попробуйте в Проводнике создать файл, скажем my.htm и папку my_files. А теперь удалите файл (Shift+Delete)… И вот тут срабатывает правило «таскаем везде с собой»… Файл благополучно утащит папку с собой. В могилу.
Спасение от доброты и заботы мелкомягких, как всегда, в реестре. Сам не проверял, но люди говорят, что если тудой добавить один магический ключик:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"NoFileFolderConnection"=dword:00000001То проблем со случайным удалением папок, кончающихся на «_files» станет гораздо меньше. Кстати, если пользоваться FAR’ом с отключенной функцией удаления в корзину, то ключик можно и не редактировать. Там таких проблем нет.
Читал книгу по Flash (автор Грибов Д.Е.). Много смеялся. Вот одна цитата:
Роль серверного приложения может играть программа, написанная на любом языке программирования. Она способна работать по множеству технологий: CGI, ASP, API, FastCGI, HPH и т. п.
То, что PHP назвали HPH, это бог с ним, опечатка. Но, что «роль серверного приложения может играть программа, написанная на любом языке программирования» или «она способна работать…» ну и далее по тексту.
P.S. Хотя, может быть, «ASP, API» следует читать, как «ISAPI», а HPH — это
Из нового. Кратко. Появилась обработка исключительных ситуаций; класс Number получил 3 новых метода: toExponential, toFixed и toPrecision; в регулярных выражения стало возможным использование расширенного синтаксиса («нежадные» выражения, предосмотр и прочее); возможность определения функции внутри if и выражений; появились константы и многое другое.
Что смущает — некоторые свойства и методы объекта RegExp, а так же объявления внутри строк и регулярных выражений символов в восьмеричной системе объявлены «deprecated», т. е. более не рекомендуются к использованию. Не люблю, когда язык становится несовместимым с предыдущими версиями, а это, как известно, обычная политика Netscape.
Вчера еще несколько модифицировал драйвер для модема TAINET Ссылочка на «скачать» внизу. Кстати, как оказалось, при сбросе стандартной командой ATZ модем загружает user profile #0. Так что, рекомендую туда записать конфигурацию
Java ICQ, языковая пузомерка, warez, пара ссылочек
Mirabilis, похоже, решила перекрыть, наконец, кислород всем альтернативным ICQ-клиентам. На днях на их сайте появилась
Доведут до ума, лично я — буду пользоваться. А пока это не то что бы даже сыро… это пока никак.
Хотите узнать насколько результативен тот или иной язык? В смысле скорости разработки программ? Внизу есть ссылочка на «Programming Languages Table». В таблице два числа «Level» и «Average source statements per function point». Числа взаимозависимы, так что имеет смысл рассматривать только первое.
«Level» (уровень) языка показывается насколько просто написать на этом языке
Естественно, в таблице перечислены далеко не все языки (например, PHP там нет), но взглянуть на результаты сравнения, тем не менее, очень интересно. Perl получил level 15, стандартный Pascal получил 3,5, а его вечный противник Си — всего лишь 2,5.
Вообще, как я заметил, на «вершине Олимпа» стоят узкоспециализированные языки, такие, как MATHCAD (level 60) или Excel (51—57), а тот факт, что язык находится у «подножья» вовсе не говорит о том, что он примитивен. Т. е. выбирая по таблице наиболее эффективный язык нужно держать в голове область его применения.
Warez. Э… это уже даже не смешно. Вышел PostreSQL 7.1RC4… Надо мной определенно издеваются. :( Если завтра выпустят RC5 я напишу в Postres конструктивное письмо с убедительной просьбой перевести проект назад, в разряд бет и не морочить честным людям голову.
Вышла Opera 5.10. О новости поторопился сообщить НоНаМыч. Конечно, файл было видно еще три дня назад, но скачать его было нельзя. Итак, новая версия вышла. Whats new?
- Появилась плохонькая поддержка скинов;
- Новый индикатор загрузки;
- APOP в клиенте
e-mail ; - Улучшенная поддержка CSS и DOM;
- Поддержка regexp и прочие изменения в JavaScript;
- Поддержка XHTML namespace;
- Исправления багов.
Ну, и еще несколько мелких пунктов. Я прошелся по РуНету, рендер HTML’а стал определенно лучше, но все еще далек от идеала. Transalte.ru смотрится несколько не так, как должен бы, Ozone.Ru — расползается, а «Казанский Портал» вообще разваливается целиком.
Когда же его доведут до ума?
Как же ссылочку я поместил вниз, на ее обычное место.
Ну все, мне ссылочку. :)
Получи свою карту, warez, бей телепузиков, спам
Сайт Mnogo.Ru предлагает всем желающим бесплатно получить именную дисконтную карту, дающую скидку от 3 до 30% в более чем 200 предприятиях по всей России. Есть
Я свою уже получил, но воспользоваться еще не успел. :) Время бесплатного сыра ограничено, так что рекомендую поторопится. Кстати, карточка выглядит очень здорово. :)
О warez.
Mirabilis выпустила новую версию ICQ 2000b v4.65 build 3281. ( Здравствуйте, баннеры! :). Что в ней нового я не знаю, давно перестал этим интересоваться, но, для интереса ее поставил. Управу на баннеры я нашел минуты за три ковыряния редактором HIEW. Выяснилось, что магические слова звучат так:
1766F: B8 33
17670: A9 C0
17671: 40 C3Править надо файл ICQCore.dll. Кроме того, очень не помешает следующий ключик в реестре:
[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\DefaultPrefs]
"Auto Update"="No"Вышел новый FarNavigator (так же известный, как ProxyFTP). В новой версии (1.80b3) изменен диалог настройки
FAR Team, напомню, это группа программистов, занимающихся разработкой популярного файлового менеджера FAR, анонсировала список изменений, которые уже внесены в еще не вышедший FAR 1.70b3. Приводить его здесь не имеет смысла (он занимает почти 30 килобайт), я его выложил в Интернет. Ссылочки, где можно это все скачать, ниже.
Ненавидите ли вы «телепузиков» так, как ненавижу их я? В общем, если да, предлагаю воплотить свою ненависть в действие.
Для функционирования этой нехитрой игрушки требуется лишь Ссылочка внизу.
Ссылочку прислал Булат Каримов aka System 104
Спаммеры в конец обнаглели. Очевидно, до кого из них, наконец, дошло, что спам вида «я хочу поделицца способами быстава зарабатывания 5000$ в Интернете» и «наша компания торгует канализационными трубами, наш адрес…» неэффективен. Я такие письма удаляю даже не читая.
Недавно я получил несколько писем от спаммеров, довольно хорошо замаскированных под обычную переписку.
Методы маскировки нехитрые, но довольно действенные. Первый вариант — «ошибся адресом». Пишется письмо, примерно такого вот содержания: «Привет, Евклид! Ездил на Канары, отлично отдохнул, заплатил недорого, всего 10000$. А заработал я эти деньги, сходив по ссылке…». Я, конечно, упрощаю, но по смыслу схоже.
Вариант номер два — «старый знакомый». Начинается оно, примерно, так: «Привет! Это Софокл. Еще помнишь меня? Недавно был на классном сайте…». Ну и так далее.
На последнее я чуть было не попался. :) Ко мне приходит масса писем, иногда некоторые люди пропадают на полгода, что бы потом напомнить о себе вот примерно таким письмом, что я привел чуть выше. Выручило меня лишь то, что спаммеры ещё не очень хорошо умеют пользоваться новоприобретённым инструментом и, читая их письма, рекламу распознать можно.
Вот что неприятно, так это тот факт, что эти письма приходится читать. Предлагаю начать, наконец, бороться со спамом активно. А именно. Пишется письмо на почтовый ящик postmaster того сервера откуда пришло письмо, туда вкладывается письмо от спаммера вместе с заголовком (в TheBAT! — Ctrl+Shift+K, что бы показать заголовок) с просьбой принять меры. Например, на chat.ru и mail.ru реакция наступает очень быстро, особенно, если письмо было не одно — такой почтовый ящик просто блокируют.
Удачи вам! И, как было написано в одном спаммерском письме, «SPAM IS BAD! DON’T SEND IT!».
FreeInet, Favicon, ReactOS и E-OS, autocomplete, dlls
Только вчера человек, как его называют в НоНаМе, с неприлично короткой аськой 100077 сообщил о открытии странички FreeInet по новому адресу FreeInet2002.Chat.Ru, а уже сегодня он собрал вещички и съехал с Chat.Ru. В неизвестном направлении. Причем настолько внезапно, что есть мнение. У меня. В общем есть мнение, что скорее его «съехали», чем он это сделал сам. Что ж, следите за новостями.
Знаете что такое favicon.ico? Это иконка 16×16, которую помещают в корне сайта, что бы Internet Explorer (а сейчас еще и Konquer) при добавлении сайта в закладки или просто при его просмотре заменял им свой скучный значок белой бумажки с синей буквой «е». Пример можно посмотреть у DZ.
Так вот. Узнал только вчера. Так получилось. Оказывается эту иконку не обязательно называть favicon и не обязательно помещать в корень сайта. Конечно, о том где она находится и как называется надо
<HEAD>
<LINK REL="SHORTCUT ICON" HREF="http://www.host.com/icon/favicon.ico">
<TITLE>Page Title</TITLE>
</HEAD>Время шло, DOS теряла популярность,
К чему я? Сегодня, свернув
Разработчики поставили перед собой цель «создать и поддерживать качественную операционную систему. Непрерывно бороться за качество во всем включая надежность, эффективность и внешний вид». Принять участие в разработке может любой. Я только одного не понял… Работа идет до сих пор или проект давно заброшен?
CMD.EXE, «DOS под Windows» (ну, знаете, ярлык «Сеанс
Эта возможность
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor или<br>
HKEY_CURRENT_USER\Software\Microsoft\Command Processor<br>и исправить значение параметра CompletionChar на 9 (или добавить его с типом REG_DWORD, если он отсутствует). Теперь, при нажатии клавиши Tab, операционная система будет пытаться сама дописать введённую строку так, как это делается в шеллах Unix.
Ссылки на «DLL-библиотеки», т. е. сайты, где выкладываются различные DLL, которые некоторые программы требуют для своего функционирования, кто уже только не давал. Но я редко их вспоминаю, когда мне становится нужной выкладываю ссылочку на один такой ресурс. Может и еще
И, под занавес, порадую ссылочкой «операционной системой на Flash» ссылочка внизу, а эта «операционная система» никакая не ОС, конечно, а вовсе даже десктоп.
«ОС на DHTML» уже была, а вот это, если не ошибаюсь, первая ласточка
Загляните, если интересно. Внутри есть своя «кнопка пуск», калькулятор, графический редактор, блокнот и еще
Что называется, «когда верстался этот номер» я узнал, что FreeInet жив и здоров. И жив и здоров он по ссылочке внизу. Как говорится, enjoy!
Самоновости, warez, Shell, FreeInet spy
Прислали мне вчера ссылочку в аську. Захожу — gazeta.ru, читаю заголовок и не верю своим глазам — «Евгений Степанищев — обладатель золотого болта». Я никаким золотым болтом не обладаю, так что первая мысль была — появился
Ларчик открывается просто. Для того что бы понять в чем фокус, достаточно внимательно посмотреть на URL. Если в URL’е содержиться собачка, то все, до последней собачки, относится к строке авторизации пользователя. Таким образом www.gazeta.ru в данном случае, ничто иное, как логин, а 62.118.250.28 — сервер, с которого показывается страничка.
Ссылочку прислал Much Foster
Warez. В нескольких словах.
Вышел,
Обновилась Opera. В новой версии (5.11) из изменений — одни багфиксы, в количестве
И, примерно неделю назад, вышел релиз PostgreSQL 7.1. Ждал я его с нетерпением, а как появился — стало не до него. Так что я его еще не поставил… Но от людей, которые это сделали, слышал
Каждое утро по пути на работу я проезжаю мимо ларька «Shell», если кто не знает — это фирма производит автомобильные масла. Так вот, пару дней назад, проезжая все той же дорогой, я обратил внимание, что трех последних букв в названии фирмы уже нет. Так что ларёк стал называться просто «Sh». Юниксоиды меня поймут, а остальным скажу, что sh — имя самого распространённого командного интерпретатора Unix, общее название для которых — shell.
Примечание: собственно, «sh» — это и есть сокращение от слова «shell». В общем для меня ситуация весьма забавная.
FreeInet меня настолько заинтриговал, что я решил попробовать провести небольшое расследование. Вот что я выяснил. FreeInet — вещь ворованная, доступ идет через сеть X25. Что это такое я не интересовался, но, кажется эту сеть, в свое время активно пользовали, например, банковские структуры. Аккаунт, насколько я понял подбирается простым перебором, для этого есть, например, специальные скрипты, написанные на языке SCP-файлов.
Так что выходить через FreeInet не рекомендую. Я не слышал что бы за это
Кому как, а меня от потуг НоНаМыча найти спонсора уже несколько мутит. Стоит ли объяснять человеку, что сайт его классный, спору нет, но спонсоры на посещаемость в 5000 человек в день сами приходят крайне редко. К ним надо приходить, уговаривать и объяснять, убеждать и рассказывать, как это все хорошо и что им это все даст. А так, кому это нужно?
Все равно, как я бы попытался продать свой пупок торговцам органами. Или аппендикс. Никому аппендикс не нужен? Почти не юзаный?
Но, в любом случае, удачи тебе, НоНаМыч! Не вздумай закрывать сайт! :)
99 бутылок: Miva, Ruby
22. Miva. Доступ к этому языку я получил чисто случайно. Будем считать, что я нашел распечатки парочки программ на этом языке на улице. Это недалеко от истины, ибо документацию по Miva я в глаза не видел.
Итак Miva — это скриптовый полнофункциональный язык, применяемый исключительно
Скрипт, выводящий песню о пиве (beer.mv)
<HTML><MIVA STANDARDOUTPUTLEVEL = "text, html, compresswhitespace">
<MvCOMMENT>
| Beer song. Written by Evgeny Stepanischev
</MvCOMMENT>
<MvFUNCTION NAME="Beer" PARAMETERS="n">
<MvIF EXPR = "{ l.n NE 0 }">&[ l.n ]<MvELSE>No</MvIF>
bottle<MvIF EXPR = "{ l.n NE 1 }">s</MvIF>
of beer</MvFUNCTION>
<MvASSIGN NAME = "g.i" VALUE = 99>
<MvWHILE EXPR = "{ g.i GE 1 }">
<MvEVAL EXPR="{ Beer(g.i) }"> on the wall, <MvEVAL EXPR="{ Beer(g.i) }">.<BR>
Take one and pass around,<BR>
<MvASSIGN NAME = "g.i" VALUE = "{ g.i - 1 }">
<MvEVAL EXPR="{ Beer(g.i) }">
on the wall.<BR><BR>
</MvWHILE>
No more bottles of beer...<BR>
Go to the store and buy some more...<BR>
99 bottles of beer.
</HTML>23. Ruby. Скриптовый язык, который я посчитал очень похожим на Перл, поэтому писал на нём как на Перле. Отличия есть, и существенные, но тем не менее. Как и предыдущем языке, есть префиксные различия между глобальными (начинаются на «$» или «@») и локальными переменными. Из странностей — конструкцию «1?2:3» не удалось заставить работать с локальными переменными. Возможно это особенность языка, но не ясен её смысл.
Скрипт, выводящий песню о пиве.
# Beer song. Written by Evgeny Stepanischev
def Beer (n)
if n!=0 then
print n
else
print 'No'
end
print " bottle"
print "s" unless n==1
end
$i = 99
while $i>0 do
Beer ($i)
print " on the wall, "
Beer ($i)
print "\nTake one and pass around,\n"
$i-=1;
Beer ($i)
print " on the wall.\n\n"
end
print <<EOF
No more bottles of beer...
Go to the store and buy some more...
99 bottles of beer.
EOF