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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ivan Frolkov                         2:5020/175.2   01 Aug 2004  01:02:06
 To : Nikolay Pichtin
 Subject : Разделитель
 -------------------------------------------------------------------------------- 
 
 Sat Jul 31 2004 11:01, Nikolay Pichtin wrote to All:
 
  NP>  Делаю так:
  NP> Есть массив
  NP> 1|2|3
  NP> 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|
 
  NP>  Hо дело в том, что мне не надо в конце |
  NP>  Как это побороть?
 
 Исправлением ошибки в логике. Вообще, какие-то странные данные и какая-то
 странная задача. Я бы задумался, что что-то явно идет не так. Впрочем, это
 так, мысли вслух... Почитал тут ваше обсуждение, удивился многотрудности. Чтоб
 вы дальше не мучились:
 
 $_=join('|', map { $_ == 3 ? 7777 : $_ } split /\|/) for(@arr);
 
 или
 
 s/(^|\|)3(?=\||$)/${1}7777/g for (@arr);
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
 
 

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

 Тема:    Автор:    Дата:  
 Разделитель   Nikolay Pichtin   31 Jul 2004 11:01:39 
 Re: Разделитель   Dmitry Y. Labutin   31 Jul 2004 11:38:33 
 Разделитель   Justin Finch-Fletchley   31 Jul 2004 12:18:15 
 Разделитель   Michael   01 Aug 2004 00:19:34 
 Разделитель   Ivan Frolkov   01 Aug 2004 01:02:06 
Архивное /ru.perl/3300430233bf.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional