Воскресенье, 24.11.2024, 22:36
Приветствую Вас Гость
Главная | Регистрация | Вход
Домик быта
Меню сайта
  • Главная страница
  • Информация о сайте
  • Обратная связь
  • Ремонт техники
  • Доска объявлений
  • Каталог статей
  • Каталог файлов
  • Каталог сайтов
  • Дневник
  • Форум
  • Гостевая книга
  • Всё для веб-мастера
  • Онлайн игры
  • Кино клипы музыка
  • Фотоальбомы
  • FAQ (вопрос/ответ)



  • Ремонт бытовой техники! Rambler's Top100

    Яндекс цитирования

    Рейтинг@Mail.ru

                 Полезные утилиты:
    SMS бесплатно С-Пб:

      Абонентам Билайн

      Абонентам МТС

      Абонентам Теле 2

      Абонентам Мегафон

      Абонентам Скайлинк

    Главная » Статьи » ПК Железо Soft » Вопрос-ответ "F1-Help" 2000-2002 г.

    Вопрос-ответ "F1-Help" 2002-15
    Чем отличается начинающий программист от опытного?
    Начинающий считает, что в 1 килобайте 1000 байт.
    Опытный считает, что в 1 километре 1024 метра.
    Фольклор


    Введение

    Опыт общения в различных конференциях по программированию показывает, что сколько бы гигабайт всевозможной документации ни существовало в природе - начинающим программистам этого всегда будет мало. Среди причин этого явления: неумение найти нужную документацию, неумение воспользоваться найденной документацией, отсутствие базовых знаний технического английского языка, неумение пользоваться сообщениями об ошибках, неумение правильно задать вопрос в конференции, ... этот ряд можно продолжать очень долго. В этом опусе я хотел бы ответить на некоторые "ЧастоЗадаваемыеВопросы", научить начинающих Перл-программистов пользоваться документацией, описать работу с некоторыми модулями. По ходу текста я рассмотрю популярные аспекты использования Перл. В качестве примеров я буду приводить чаще куски кода, чем целые скрипты. Этого должно быть достаточно для понимания вопроса и для стимуляции мозговой деятельности. За любые последствия использования примеров кода я никакой ответственности не несу. О безопасности думайте сами. Преподавателем я никогда не работал, поэтому не судите строго ;-).

    После рассмотрения вопросов установки Перл я расскажу о различной Перл-документации, о ее использовании и далее в тексте буду ставить ссылки на соответствующие разделы доков.

    Использование мной слова "консоль" для пользователей Windows (Win32) будет означать, что им надо запускать "Сеанс MS-DOS". В статье я буду ориентироваться, в основном, на пользователей Windows, так как особенности этой системы (чаще - ее незнания), сбивают с толку начинающих программистов, прочитавших книжку (статью) про Перл, написанную заядлым юниксоидом.

    Формат текста:

    Жирным черным текстом будут обозначены строки консоли (командная строка, шелл), то есть консольный ввод/вывод.

    Шрифт Courier New будет использоваться для фрагментов кода и т.п.

    Курсивом обозначим ссылки на документацию perldoc.
    Установка и настройка

    "Если есть какое-либо устройство (программа), нуждающееся в ручной установке и настройке, оно, как правило, не поддается ни тому, ни другому".
    Что-то вроде закона Мерфи.

    Многие горе-CGI-программисты пытаются писать cgi-скрипты, не имея у себя на машине установленного Perl'а. В этом и заключается их Fatal Error. Почему? Потому что:

    1) Установленный Перл - это наличие документации. 2) Установленный Перл - это отслеживание ошибок и отладка. 3) Установленный Перл - это постоянная практика прикладного программирования. Одним словом, "MustHave". Как сделать "Have"?

    Пользователям UNIX повезло - в комплекте ОС этого типа Perl присутствует, а Win32-юзерам следует сходить на www.activestate.com и скачать дистрибутив (версию Stable). Рассказывать, как нажимать кнопку "Next", наверное, не стоит ;-), а посему остановимся на Upgrade Перла, то есть на установке модулей. Для этого существует несколько способов.

    1) Ручной. Для этого метода установки пользователям Win32 понадобится утилита nmake.exe, которой нет в комплекте этой ОС. Следовательно, ее нужно скачать (www.filesearch.ru). Скачали? Кладем эту программу в директорию X:\\Gde\Perl\bin или X:\\WINDOWS, для удобства переименовав ее в make.exe. Теперь можно начинать установку.

    Скачиваем архив модуля с www.cpan.org, распаковываем во временную директорию и видим примерно следующее:

    Makefile.PL
    SuperModule.pm
    MANIFEST
    Changes
    README

    Читаем ридми-файл и проверяем, подходит ли этот модуль под нашу ОС. Если подходит, то открываем консоль и пишем

    >perl makefile.pl

    Если перл не ругается на ошибки, значит, мы прочитали README :-).

    Теперь тут же пишем

    >make
    >make test
    >make install

    Если выдаются какие-либо ошибки, значит, читаем README снова и снова. Некоторые модули могут не иметь версии под вашу ОС или требовать установки других модулей, которые они используют. Все это отображается в сообщениях об ошибках при установке. Если же установка прошла нормально, можно удалить установочные файлы из временной директории.

    2. CPAN-консоль. Этот способ установки использует специальный модуль CPAN. У пользователей Win32 этот метод вызовет затруднения, так как потребует некоторых дополнительных утилит, которых нет в комплекте ОС. Поэтому для них имеется третий способ установки ;-) (см. ниже). Список необходимых утилит можно увидеть при настройке cpan-шелла.

    Запуск в консоли:

    >perl -MCPAN -e shell

    Это означает, что мы запускаем функцию shell из модуля CPAN (подробнее об этом ниже).

    Открывается консоль cpan>. При первом запуске она попросит ее настроить, что мы любезно и выполняем.

    После настроек, набрав help, мы получим справку о командах cpan-шелла. Для установки модуля необходимо подключиться к Интернет и набрать install ModuleName. Далее произойдет автоматическая установка модуля прямо с сайта CPAN. При этом cpan-shell выберет версию под вашу ОС, проверит, требуются ли для устанавливаемого модуля другие модули, и предложит их установить.

    3. PPM (Perl Package Manager). В комплекте Перл от ActiveState имеется утилита PPM. Установка модулей с помощью этой утилиты так же, как и с cpan-shell, не зависит от ОС. С ее помощью можно установить модуль как вручную, так и автоматически через Сеть. Для установки модуля потребуется его ppm-пакет, который можно скачать с www.activestate.com. Откройте консоль и наберите: ppm. Установка происходит следующим образом:

    ppm> install ModuleName - С сайта Active

    State, автоматически, как и в случае cpan-консоли.

    ppm> install path/to/ppmpack/Module.ppd - Из локальной директории. Об этом способе сказано ниже.

    PPM, в отличие от CPAN-шелла, не требует ничего кроме nmake.exe, который уже вами скачан.

    4. Полный Upgrade. Пример автоматизации процесса установки большого количества модулей с помощью PPM.

    Вариант 1. Полная автоматика ;-)

    Составляем список модулей. Для этого надо просто зайти на сайт ActiveState в раздел PPMPackages и сделать Copy/Paste. Сохраним список в файле modlist.txt. Пишем следующий скрипт:

    open(F,"modlist.txt");
    chomp(@modz=);
    close(F);
    open(F,">modinstall.log");
    foreach $mod(@modz){
      system("ppm install $mod");
      print F "$mod\n";
    }
    close(F);

    Подключаемся к Интернету, запускаем наш скрипт и, если у нас канал не ADSL, то ложимся спать. Установка займет много времени.

    Вариант 2.

    Этот способ хорош тем, что все модули мы можем впоследствии записать на ЦД-диск, что будет очень полезно для экономии интернет-траффика.

    Нам потребуются следующие инструменты:

    1. Teleport Pro (или другой "паук").

    2. Windows Commander(в KDE - K-Commander) или другой продвинутый файл-менеджер (полезен для массовой распаковки).

    3.PPM.

    Порядок установки следующий:

    Натравливаем "паука" на страницу со списком ZIP-архивов PPM-модулей (Адрес: http://www.activestate.com/PPMPackages/zips/6xx-builds-only/), при этом в настройках указываем ему скачивать только файлы ZIP (докачка поддерживается). Через некоторое время мы получим комплект из более чем 1000 модулей, весом более 100 Мб. Распаковываем все это добро в директорию unpack. Там получится 3 директории (типы ОС) и большой список файлов *.ppd. Теперь пишем такой скриптик:

    opendir(D,".");
    @filez=readdir(D);
    closedir(D);
    foreach $f(@filez){
      system("ppm install $f") if $f=~/ppd$/i;
    }

    Бросаем его в директорию с ppd-файлами, запускаем, и на ближайшие полчаса оставляем наш компьютер в гордом одиночестве пережевывать модули. Вот и все.

    Данный скрипт можно проапгрейдить до ведения статистики, отлова ошибок и т.д., но это уж вы как-нибудь сами =). Идея проиллюстрирована, дальше можно применять свою безграничную фантазию.
    Save me, St.-Perldoc!

    "Меньше знаешь - крепче спишь".
    Плохая поговорка

    perldoc - это Библия перл-программиста. Поэтому, если кто-то кого-то посылает в перлдок, значит, следует туда и отправиться, а не обижаться и устраивать в форумах лишние флеймы. Что из себя представляет эта Великая Книга?

    perldoc - это стандартная для Perl-комплекта программа, выдающая по запросу нужную(!!!) информацию. Это вам не Яндекс какой-нибудь! :-). Запуск ее производится в консоли следующим образом:

    perldoc [-опции] строка

    Опции не обязательны и служат для задания способа поиска. Вот примеры использования:

    perldoc -f open - выводит описание функции open();

    perldoc -q blablabla - производит поиск слова blablabla по документации FAQ;

    perldoc LWP - выводит описание модуля LWP;

    perldoc perldoc - выводит справку о работе с perldoc. Здесь вы найдете описание всех опций поиска.

    Документация Перл разбита на разделы, по каждому из которых можно вывести справку. Веcь список разделов можно получить с помощью команды perldoc perl. Вот некоторые из них:

    perlfaq - FAQ по Перл;

    perlsyn - о синтаксисе Перл;

    perldata - структура данных Перл;

    perlop - операторы;

    perlsub - подпрограммы;

    perlfunc - стандартные функции;

    perlreftut - краткое введение в Перл;

    perlrequick - краткое описание работы с регулярными выражениями;

    perlvar - встроенные переменные;

    perlre - работа с регулярными выражениями;

    perlboot - объектно-ориентированное программирование для начинающих;

    perlipc - межпроцессное взаимодействие;

    perlnumber - семантика чисел в Перл;

    perllocale - локализация программ (поддержка русского языка);

    perlmod - как работают с модулем;

    perlmodlib - как писать и использовать модули;

    perlfaqЦифра[1-9] - еще FAQ;

    perlutil - утилиты комплекта Перл;

    perlhack, perl hackers guide ;-))), perlhist - исторические справки;

    perldos - замечания для использования в DOS;

    perlmacos - замечания для использования в MacOS;

    perlwin32 - замечания для использования в Windows.

    Вызов информации по разделу производится командой в консоли: perldoc-раздел.

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

    Документация perldoc хранится в файлах формата POD (perldoc perlpod). Но это не единственная возможная форма справки. Чтобы превратить POD в HTML, нужно воспользоваться стандартной утилитой pod2html. Также имеются утилиты pod2hlp, pod2text, pod2man и др., название которых говорит само за себя ;-).

    Вот и все, что нужно знать о Великом perl-doc.
    Нихачу учицца а хачу праграммить!

    Анекдот: 

    - Иванов! Ду ю спик инглиш?
    - Че?
    - Садись, два!
    - Петров! Ду ю спик инглиш?
    - Че?
    - Садись, два!
    - Сидоров! Ду ю спик инглиш?
    - Йес! Ай ду!
    - Че?

    Хорошей документации о Перл на русском мало. Есть энтузиасты, которые сами переводят некоторые опусы и выкладывают их бесплатно на просторах WWW (perldoc.narod.ru). Конечно, этого мало.

    Есть несколько книг. Приведу в пример те, которые знаю:

    "Perl. Учебный курс" авторства тов. Маслова - из разряда "Не для чайников".

    Эту небольшую книжку можно купить (не знаю где, но у меня валяется), а можно почитать в онлайн на сайте www.citforum.ru.

    "Perl. Специальный справочник". Перевод "Perl Core Language. Little Black Book" Стивена Холзнера - из класса "Для чайников". Неплохая книжка с множеством примеров, что очень важно для начинающих.

    Приобрести можно на www.piter.com, а возможно, они ее уже бесплатно выложили в онлайн, так как книжка двухлетней давности. Отделения издательства "Питер" есть и в других городах России - адреса ищите на сайте.

    "Perl. Библиотека программиста". Перевод замечательной книги "Perl CookBook", написанной Т. Кристиансеном и Н. Торкингтоном при участии множества участников Usenet-конференций по Perl, а также при участии самого создателя Перл - Ларри Уолла.

    "Perl/CGI-программирование". Перевод еще одной хорошей книги. Есть в издательстве "Питер" и, насколько я помню, в издательстве "BHV". На этом список русскоязычной информации не заканчивается. В последнее время появился еще ряд новых книг, однако о них я ничего не могу сказать - не читал. А вот лучшие книги о Перл на английском языке, которые можно скачать из Сети в HTML-формате:

    Advanced Perl Programming - By Sriram Srinivasan

    CGI Programming on the World Wide Web - By Shishir Gundavaram

    Learning Perl - By Randal Schwartz, Tom Christiansen & Larry Wall

    Perl in a Nutshell - By Ellen Siever, Stephen Spainhour & Nathan Patwardhan

    Programming Perl - By Larry Wall, Tom Christiansen & Randal L. Schwartz.

    В этих книгах имеется невероятное количество примеров.

    Теперь разберемся, что делать, если вы не то что английский не знаете, но и с русским проблемы ;-).

    Конечно, главный совет - учить! Но что делать, если это невозможно (в нашей деревне школы нет, нет денег на курсы, и т.д.)? Остается учиться самим потихоньку. Лучше всего это получится с помощью практики. Чтение perldoc как раз и дает такую практику. Итак, для начала вам понадобится PROMT 2000. Этот переводчик вполне сносно переводит тексты, и это поможет хоть как-то пользоваться перлдоком. В процессе чтения английских текстов с помощью перевод-чика вы выучите технический английский, это я могу гарантировать. Почему именно ПРОМТ? Просто только эта программа именно этой версии переводит тексты не ради шутки, а для чтения (вспомним стайлус ;-)).

    С английским вроде разобрались. Теперь дам немного ссылок на ресурсы.

    www.cgi-resources.com - большой архив программ, которые можно использовать как примеры.

    www.perlmonks.com - здесь множество серьезных людей выкладывают сырцы своих программ.

    www.oreally.com - это сайт самого перловского книжного издательства. Когда-то оно помогало Ларри Уоллу, да и сейчас разработчики Перл и издательство тесно сотрудничают.

    Наши родные www.perl.ru и www.perl.org.ru, к сожалению, пока не тянут на звание супер-перл-ресурсов, но это уже зависит от нас с вами. Призываю всех найти время и написать хотя бы по статейке!

    Теперь хотелось бы немного рассказать об альтернативах получения информации. Конечно же, это веб-форумы, конференции Usenet и IRC. Если нет проблем с английским языком, то:

    1) Раздел ссылок на сайтах www.perl.com, www.cpan.org, www.activestate.com расскажет, где можно найти множество не "мертвых" веб-конференций, посвященных Perl.

    2) В Usenet найти Perl-конференции не трудно. Вот некоторые из них:

    - comp.lang.perl.announce - новости, объявления, и т.д.

    - comp.lang.perl.misc - тут можно задавать вопросы, обсуждать проблемы.

    - comp.lang.perl.modules - конференция по модулям Перл.

    - comp.lang.perl.tk - конференция по Perl/Tk.

    3) На IRC-канале #Perl в сети DALNET круглосуточно обитает много народу. Можно задать вопрос, и в 99% случаев вам помогут.

    На этом закончу первую часть статьи, так как ее размер выходит далеко за рамки формата журнала. В следующий раз мы поговорим о работе с ошибками программ, способах их отлова и устранения, а также рассмотрим некоторые хитрости программирования, возможность использования которых нам предоставляет Perl.

    По материалам журнала Компьютер Price (www.comprice.ru)

    Категория: Вопрос-ответ "F1-Help" 2000-2002 г. | Добавил: stachek36 (19.10.2008)
    Просмотров: 1412 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Форма входа
    Категории раздела
    Вопрос-ответ "F1-Help" 2000-2002 г. [7]
    Вопрос-ответ "F1-Help" 2003 г. [33]
    Вопрос-ответ "F1-Help" 2004 г. [24]
    Вопрос-ответ "F1-Help" 2005 г. [17]
    Вопрос-ответ "F1-Help" 2006 г. [49]
    Вопрос-ответ "F1-Help" 2007 г. [51]
    Вопрос-ответ "F1-Help" 2008 г. [44]
    Вопрос-ответ "F1-Help" 2009 г. [2]
    SOFT [3]
    Поиск
    Наш опрос
    Оцените мой сайт
    Всего ответов: 200
    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Гоголь-Моголь
  • Статистика

    Онлайн всего: 3
    Гостей: 3
    Пользователей: 0
    Мобайл сервис
    Сочи, ул. Московская, 19 Режим работы:
    Пн-Вс: 10.00-18.00
    Без выходных
    Контакты:
    +7(988) 238-00-94
    //stachek36.ucoz.ru
    e-mail: stachek36@mail.ru
    Copyright MyCorp © 2024Сайт создан в системе uCoz