Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  20 Nov 2000  16:16:28
 To : Roman Sergeev
 Subject : Re: Раз`ясните плиз
 -------------------------------------------------------------------------------- 
 
 <Roman_Sergeev@f5.n5009.z2.fidonet.org> wrote:
 
 RS> Сразу признаюсь, что спец из меня не очень.
 RS> Ковыряю значит я один модуль (ибо тесты обламываются) и
 RS> наталкиваюсь на след. строки:
 
 RS> 1. sub extract_addrs {
 RS>        my $str = shift;
 RS>        my @addr;
 RS>        $str =~ s/\s/ /g;     ### collapse whitespace
 RS>        ^^^^^^^^^^^^^^^^^ Эта конструкция заменяет пробел на пробел. Hет?
 
 Hет. Пробел, табуляцию, перевод строки, и все остальное, что с точки зрения
 текущей локали, whitespace, на пробел. Впрочем, обычно в таких ситуациях пишут
 $str =~ s/\s+/ /g; - заменить все последовательности любых whitespace на один
 пробел каждую. Именно это в норме и означает "collapse whitespace".
 
 RS>        если сделать $str =~ s/\s//g; то все нормально
 
 RS> 2. Далее по тексту находится такая конструкция:
 RS>    $res =~ tr|` -_|AA-Za-z0-9+/|;
 RS>    Что она делает? Точнее как происходит замена и что на что меняется?
 
 ` на A, символы с пробела по _ по таблице ASCII на соответствующие из
 последовательности A, ..., Z, a, ..., z, 0, ..., 9, +, / (тоже по ASCII).
 Вернее, не по ASCII, а по текущей кодовой таблице, просто другие сейчас мало у
 кого.
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Раз`ясните плиз   Artem Chuprina   20 Nov 2000 16:16:28 
Архивное /ru.perl/17121dc882333.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional