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

Цей оператор виконує функцію, схожу 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>

*

*