Forum Webscript.Ru
Программирование => Perl => Тема начата: micolo от 27 Декабря 2006, 17:12:34
-
Доброго времени суток!
У меня такой вопрос.
Есть в php функция explode, которую я использую следующим образом:
$a=explode("|", $word);
for ($i=0; $i{
.....
}
Есть ли в perl подобная функция и как будет выглядеть её вариант, в процедуре которая указывается в приведённом мною коде?
-
@a = split \'|\', $word;
for (@a)
{
...
}
-
@a = split \'\\|\', $word;
экранировать \'|\' надо)).
split /PATTERN/,EXPR,LIMIT
первый параметр воспринимается как шаблон, а в шаблонах "|" является спец символом. Без экранирования ожидаемого результата не добиться =)
-
а как обратится к элементу массива внутри
for (@a)
{
...
}
получившегося в результате split
-
1. вариант
my @a = split (/\\|/, $word);
for ($i=0;$i<$#a;$i++) {
print $a[$i];
}
2. вариант
foreach(split (/\\|/, $word)) {
print $_;
}
-
foreach (split ...) {
s#a#b#g;
print;
}
-
спасибо!