П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 91337 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 28088 раз(а).

Учебник HTML.
Просмотров 54548 раз(а).

Руководство по PHP5.
Просмотров 25010 раз(а).

Хостинг через призму DNS.
Просмотров 29295 раз(а).

Подборка текстов стандартных документов.
Просмотров 28060 раз(а).

Учебник PHP - Самоучитель
Просмотров 32324 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34058 раз(а).

Внешние атаки...
Просмотров 26053 раз(а).

Учебник PHP.
Просмотров 21960 раз(а).

SSI в примерах.
Просмотров 17278 раз(а).






 
 



Программирование на Perl

Вызов open()

Много программистов открывают файл просто используя open(FILE,"$filename") || .... Мы уже видели опасность такого кода. Чтобы уменшить риск, указывайте режим открытия:

  • open(FILE,"<$filename") || ... только для чтения;
  • open(FILE,">$filename") || ... только для записи
Не открывайте свои файлы, не указывая режим.

Перед доступом к файлу рекомендуется проверить его существование. Это не защитит от проблем, связанных с условием перехвата, описаных в предыдущей статье, однако обойдет ловушки вроде команд с аргументами.

if ( -e $filename ) { ... }

Начиная с Perl 5.6 появился новый синтаксис для open() : open(ФАЙЛОВЫЙ ДЕСКРИПТОР,РЕЖИМ,СПИСОК). С режимом '<' файл открывается для чтения, с '>' - файл урезается или создается по необходимости, а затем открывается для записи. Появляются новые интересные режимы для общения с другими процессами. Если режим указан как '|-' или '-|', аргумент СПИСОК интерпретируется как команда, которая расположена после или до символа канала соответственно.

До Perl 5.6 и трехаргументной функции open() некоторые люди использовали команду sysopen().

[ Назад ] [ Содержание ] [ Вперед ]



 





Copyright © 2005-2011 Project.Net.Ru