Страница 5 из 16
3. Как сделать на перле то-то (основные возможности языка) 3.1 Как пользоваться функцией pack (getpwuid, dmbopen)? man perlfunc или "perldoc -f имя_функции | pod2text" 3.2 Как узнать размер файла (дату создания, атрибуты, разрешения на доступ)? С помощью так называемых файловых тестов, которые имеют вид (-тест "имя файла"), например: - (-s "file.txt")
размер файла - -e
существует ли файл - -w
доступен ли на запись - -M
количество дней со дня модификации - -t
является ли терминалом (Как обычно, это неполный список. См. man perlfunc) 3.3 Как отправить почту из скрипта на Perl? Способ для Unix oт Alex Efros open MAIL, '|/path/to/your/sendmail -t'; # Pipe к sendmail print MAIL "From:
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
", "To:
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
", "Subject: Wow! I got some mail for you!!!\n\n", $message; close MAIL;
У меня не Unix! Что делать? Вероятно, Вам поможет модуль Net::SMTP 3.4 Как отправить почту с вложениями (attachments)? Возьмите на CPAN модуль MIME::Tools и прочтите от него README. (MIME-tools.xxxxx.tar.gz) 3.5 Как определить правильность адреса электронной почты Internet? Гарантированно -- никак. Вы можете проверить адрес на правильность синтаксиса при помощи Email::Valid. И все. Если нужен гарантированно правильный e-mail для web-сайта, вы можете воспользоваться методом от Алексея Тутубалина: требовать пароль для доступа к информации, а сам пароль высылать по электронной почте. Тогда человек должен будет указать свой e-mail, конечно же, если ему интересна эта информация с вашего сайта. 3.6 Как написать модуль? Простейший случай: Сам модуль представляет из себя файл с именем MyModule.pm следующего содержания: MyModule.pm package MyModule; require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(идентификаторы для экспорта: подпрограммы, имена переменных и пр.); # Теперь после того, как вы напишите use MyModule в своей программе, у вас все # упомянутые здесь идентификаторы станут видны. Этот метод не рекомендуется, # так как вы "засоряете" именное пространство программы.
# И/или @EXPORT_OK = qw(идентификаторы для экспорта: подпрограммы, имена переменных и пр.); # Идентификаторы, прописанные здесь будут видны в Вашей программе как # MyModule::Идентификатор (подпрограммы) или $MyModule::Идентификатор # (переменные) # Или, Вы можете написать use MyModule qw(Ид1 Ид2 $Ид3); и все будет как в # первом случае. Это рекомендуемый вариант.
... ваши подпрограммы и пр ....
1; # Обязательно
Программа, его использующая: myprg.pl use MyModule qw(...); # Ну и далее
Подробности смотрите в perlmod(1), Exporter(3pm), Camel Book 3.7 Как получить доступ к n-му символу строки? Надо использовать функцию substr. Например, получить 15й символ из строки $string: $char = substr($string, 15, 1);
Установить 15й символ строки $string: substr($string, 15) = 'A';
Можно даже использовать более чем односимвольные последовательности: $ss = substr($string, 15, 5); substr($string, 15) = 'Хо-Хо';
|