|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Y. Labutin 2:5020/400 31 Jul 2004 11:38:33 To : Nikolay Pichtin Subject : Re: Разделитель -------------------------------------------------------------------------------- Приветствую. NP> Делаю так: NP> Есть массив NP> 1|2|3 NP> 4|5|6 Это массив из двух строк и одного столбца? $mass[0] = "1|2|3"; $mass[1] = "4|5|6"; Так? NP> надо 3 заменить на 7777 (частный случай). NP> foreach (@mass) { NP> @array = split /\|/; NP> if ($array[0] eq "1") { NP> $array[2] = "7777"; NP> } NP> for (my $i=0;$i<$#array+1;$i++) { NP> push (@Row,join("",$array[$i],"|")); NP> } NP> push (@Row,"\n"); NP> } NP> Hа выходе получаю @Row NP> 1|2|777| NP> 4|5|6| В результате у тебя в @Row ЧЕТЫРЕ столбца!!! Тебе это надо? NP> Hо дело в том, что мне не надо в конце | NP> Как это побороть? Попробуй так. foreach (@mass) { @array = split /\|/; if ($array[0] eq "1") { $array[2] = "7777"; } push (@Row, join ("|", @array)); } Может быть тебе вообще нужно так? foreach (@mass) { if (/^1\|/) { s/\|3/\|777/; } push (@Row, $_); } -- Дмитрий Лабутин dmitry@incub.ru Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: incub creative team (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/27843dba749f.html, оценка из 5, голосов 10
|