в регулярное выражение любой специальный
/p>
Для того чтоб поместить в регулярное выражение любой специальный символ,поставьте реред ним обратный слэш Заставить
Perl игнорировать регистр можно поставив
i после регулярного выражения
print "Are you sure?:"; $answer=<STDIN>; if($answer=~/Y/i){ #че-нибудь сделаем... }
Полезные функции.
В
Perl очень много различных функций ,как говорится на все случаи жизни,все о них я конечно не опишу,но обо многих. Начну с тех,которые больше относятся к операторам. Операция замены
s/рег.выражение/строка/ игнорировать регистр - опция
i
глобальная(по всей строке) замена -опция
g; Пример:
$x="This is test"; $x=~s/ /_/g; print $x; #This_is_test
Очень полезная опция у
s/// e -она означает что вторая строка не строка а выражение, результат которого и будет подставлен. Например,у вас есть файл в котором все записи о возрасте через год надо менять
open OLD,"oldfile.txt" die "Cannot open oldfile.txt $!\n"; open NEW,">newfile.txt" die "Cannot open newfile.txt $!\n"; foreach(){ s/(\d+)(\s+год)/($1+1).$2/gie; s/(\d+)(\s+лет)/($1+1).$2/gie; print NEW $_; } close NEW; close OLD;
или более показательным примером послужит функция
urldecode,которая будет встречатся в каждой вашей программе,обрабатывающей формы:
sub urldecode{ local($val)=@_; $val=~s/\+/ /g; $val=~s/%([0-9A-H]{2})/pack('C',hex($1))/ge; return $val; }
Также важным удобством в
Perl являются операции для работы с файлами для выполнения схожих функций в других языках приходиться проделывать огромную массу работы. Аргументами могут быть как Файловые переменные,так и строки,представляющие имя файла.
Операция |
Описание |
Пример использоввания |
-r |
Доступен для чтения |
unless(-r "myfile"){print "Cannot read myfile\n";} |
-w |
Доступен для записи |
|
-x |
Для исполнения |
|
-o |
Принадлежит пользователю |
if(-o "index.htm"){chmod 0777,"index.htm";} |
-R |
Доступен для чтения реальным
пользователем,а не только "эффективным".
Имеет значения для set-uid -скриптов |
if(-r FILE){unless(-R FILE){die "Its not allowed to read this\n";}} |
-W |
Доступен для записи реальным пользователем |
|
-X |
Доступен для исполнения реальным пользователем |
|
-O |
Принадлежит реальному пользователю |
|
-e |
Файл или каталог Существует |
unless(-e $htmlfile){
open HTML,">$htmlfile";
print HTMLFILE "<HTML><BODY></BODY></HTML>";
close HTMLFILE;
} |
-z |
Существует,но имеет нулевую длину |
if(-z 'tmpfile'){unlink 'tmpfile';} |
-s |
Размер файла в байтах |
system "rar m -m5 archive.rar $myfile" if -s $myfile > 1000; |
-f |
Файл существует и является простым файлом |
|
-d |
Файл существует и является каталогом |
if(-d 'public_html'){chdir 'public_html';} |
-l |
Символической ссылкой |
|
-p |
Каналом FIFO |
|
-u |
Имеет бит установки пользователя |
|
-g |
Имеет бит установки группы |
|
-k |
Установлен sticky-бит |
|
-t |
Является терминальным устройством |
|
-M |
Время с последнего изменения (в днях) |
while(defiled($file=glob('*'))){
if(-M $file >= 7.0){
unlink($file);#удаляем слишком старые файлы
}
} |
-A |
Время последнего доступа(в днях) |
if(-A "$ENV{'HOME'}/public_html/index.html" |
-C |
Время последнего обновления файлового индекса(в днях) |
|
|
|
|
<
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий