= ~ (Перевірка відповідності рядка масці)

Цей оператор виконує функцію, схожу c функцією оператора ==, порівнюючи
змінну, що містить рядок з маскою.

Приклад 1:

	$string="I love cgi";
if($string=~/cgi/) {
print "вірно";
}

Приклад 2:

	$string="chmod 755 test.cgi";
if($string=~/[a-z]+sd+s.*/) {
print "вірно";
}

# "Chmod" – [az] + – 1 або більше букв
# "" – S – 1 пробіл
# "755" – d + – 1 або більше цифр
# "" – S – 1 пробіл
# "Test.cgi" – .* – далі йдуть будь-які символи


Приклад 3: перевірка, e-mail адреси

	$string="billgates@microsoft.com";
if($string=~/w+@w+.w+/) {
print "вірно";
}

# "Billgates" – w + – 1 або більше букв / цифр
# "@" – @ – Символ @
# "Microsoft" – w + – 1 або більше букв / цифр
# "." -. – Символ.
# "Com" – w + – 1 або більше букв / цифр


! ~ (Перевірка невідповідності рядка масці)


Цей оператор є зворотним оператору = ~ (так само як! = Явл зворотним по
відношенню до ==).

tr (переклад)


Аргументами цієї функції евляются дві маски з однаковою кількістю
елементів.

$string=tr/SEARCHLIST/REPLACELIST/;

А займається вона тим, що замінює елемент з SEARCHLIST відповідним
елементом з REPLACELIST.

Приклад 1:

	$string="testing";
$ String = ~ tr / et / ET; # Зараз $ string = "TEsTing";
$ String = ~ tr / az / AZ /; # А зараз $ string = "TESTING";

Приклад 2:

	$string="I+like+CGI";
$ String ~ tr / + / /; # Зараз $ string = "I Like CGI"

s (заміна)


Ця функція замінює частину рядка, відповідну PATTERN на REPLACE.

$string=s/PATTERN/REPLACE/eg;

Де "e" та "g" – необов'язкові параметри:


Приклад 1:

	$string="i:love:perl";
$string=~s/:/*/; # now $string="i*love:perl"
$string=~s/:/*/; # now $string="i*love*perl"
$string=~s/*/+/g; # now $string="i+love+perl"
$string=~s/+/ /g; # now $string="i love perl"
$string=~s/perl/cgi/; # now $string="i love cgi"

Приклад 2:

	$string="i love perl";
$ String = ~ s / (love) / <$ 1> /; # тепер $ string = "i perl"

# Сдесь перше знайдене слово "love"
# Прісваевается змінної $ 1


Приклад 3:

	$string="www22cgi44";
$ String = ~ s / (d +) / $ 1 * 3/eg; # зараз $ string = "www66cgi132";
# Параметр "e" показує
# Що $ 1 * 2 – обчислення, а не просто рядок

/pattern/


Роботу цієї функції пояснюють приклади:

Приклад 1

  $string="chmod 711 cgi";
$string=~/(w+)s+(d+)/;


Тепер $ 1 = "chmod", $ 2 = "711"

Приклад 2:

	$string="chmod 711 cgi";
@ List = split (/ s + /, $ string); # розбити рядок $ string,
# Використовуючи прогалини
# Як роздільники

Отримаємо масив:

  @list=("chmod","711","cgi");

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*