|
Добро пожаловать на наш сайт! |
Сайт посвящен компьютерам, софту, программированию и вообще информационным технологиям.
Надеямся Вам у нас понравится. |
|
|
|
|
|
|
|
|
|
|
Введение в Perl |
Результат '34 12'.
tr/таблица1/таблица2/cds y/таблица1/таблица2/cds Замена всех символов из «таблица1» на соответсвующий символ из «таблица2». Результат – количество замен или стираний. Без оператора
=~или
!=операция выполняется с строкой
$_. Для совместимости с программой
sedвместо
trможно писать '
y'. Опции: c – дополнение «таблица1» d – стереть найденные но не замененные символы. s – «зжать» повторяющиеся замененные символы. Если указана опция
/dтаблица2всегда интерпретируется как положено. Другими словами если
таблица2короче чем
таблица1то символ из
таблицы1интерпретируется всегда. Если
таблица2–
nullто все символы строки остаются не изменненные. Это удобно для подсчета количества сиволов в строке определенного класса или для сжатия повторяющихся символов например пробелов. Пример: $s = «hello»; # Исходная строка $s =~ tr/a-z/A-Z/; # Заменить малые буквы на большие. Результат # 'HELLO' $s = 'Hel....lo'; $s =~ tr/a-zA-z/_/c; # Заменить все не буквы на '_' # Результат 'Hel____lo' $s =~ tr/_/ /s; # Заменить '_' на ' ' и сжать. # Результат 'Hel lo' $s =~ tr/a-zA-Z /a-zA-Z/d; # Удалить все не буквы. Результат 'Hello' Если один и тот же символ несколько раз указан в таблице1 то применяется только первая замена.
Операторы ввода-вывода. В Перл существует несколько операторов ввода-вывода. Первый это скобки из символа '
`' – акцента. Строка в этих скобках воспринимается как системная команда и результат ее действия возвращается как «псевдо» литерал. В скалярном контексте это строка содержащая весь результат, а в списковом – список элементы которого – строки результата. Статус выполненой команды хранится в переменной $? . Следующая команда ввода вывода выглядит как '
<файл>'. Вычисление
<файл>приводит к чтению строки из файла. Обратите внимание что '
файл' здесь не имя файла, а указатель файла который создается функцией
open(). В скалярном контексте читается одна строка вместе с символом '
\n' – перевода строки, а в списковом весь файл читается в список элементы которого суть строки файла. В случае обнаружения конца файла результат оператора не определен и воспринимается как
false.
|
|
|