Создание серверных приложений на языке PERL

Функции split и join.


$line = "gds::*::1001::20::Samolyuk German::/home/gds::/usr/local/bin/tcsh"; @fields = split(/:/, $line); # разбить $line, используя в качестве # разделителя двоеточие # @fields содержит ("gds","","*","","1001","","20","","Samolyuk German","", # "/home/gds","","/usr/local/bin/tcsh")

Второе поле : стало пустой строкой, если вы этого не хотите:

@fields = split(/:+/, $line);

Использование автоматической переменной:

$_ = "this is a some text"; @words = split(/ /); # @words = split(/ /, $_);

Соседние пробелы вызовут появление пустых строк. Лучше использовать образец / +/

или /\s+/. Или по умолчанию:

@words = split; # @words = split(/\s+/, $_);

Пример:

$line = "gds::*::1001::20::Samolyuk German::/home/gds::/usr/local/bin/tcsh"; ($name, $password, $uid, $gid, $gcos, $home, $shell, $a) = split(/:+/, $line); # $a - undef

Функция join берет список значений с склеивает их, ставя между элементами списка строку связку:

$string = join($glue, @list); $outline = join(":", @fields);



Содержание раздела