[Moscow.pm] # Не удаляется в скобках

Кузьменко Константин ikkv на yandex.ru
Вс Апр 5 13:37:50 PDT 2015


Вот так "/\s*\|\s*/" удаляются пробелы и "\n" и тд и тп но мне же надо оставить "\n" в конце строки
Подходит это:
$_ =~ s/\h+//g; 
$_ =~ s/\|/;/g;
Вопрос как удалить столбци

-- 
Специалист IT, GNU, FLOSS, Open Source
Моб: +7 (951) 131 33 90
С уважением,
Кузьменко Константин Викторович


05.04.2015, 23:24, "Ilya Chesnokov" <chesnokov.ilya на gmail.com>:
> 5 апреля 2015 г., 23:14 пользователь Кузьменко Константин
> <ikkv на yandex.ru> написал:
>>  Это файл TXT
>>  123 | 12345678901234567890 |     760.00 |ФАМИЛИЯ       |ИМЯ            |ОТЧЕСТВО     |123456|222|888|9|RU|00007|
>>  На Выходе должен получиться CSV
>>  12345678901234567890;ФАМИЛИЯ;ИМЯ;ОТЧЕСТВО;760.00;
>
> Это вообще проще без регулярок делать. А банальным split-ом (с
> минимальной регуляркой вида /\s*|\s*/) и join-ом (ну или при помощи
> модуля Text::CSV).
>>  --
>>  Специалист IT, GNU, FLOSS, Open Source
>>  Моб: +7 (951) 131 33 90
>>  С уважением,
>>  Кузьменко Константин Викторович
>>
>>  05.04.2015, 18:16, "Иван Миронов" <mironorange на gmail.com>:
>>>  Константин, Добрый день!
>>>
>>>  Попробуйте уменьшить жадность квантификаторов добавив после знаков звездочки вопросительный знак.
>>>
>>>  s/^(.*?;).*?;.*?;.*?;.*?;.*?;(.*?;.*?;.*?;.*?;.*?;.*?;)$//g;
>>>
>>>  Если не получится, я думаю было бы здорово если бы вы приложили пример исходных данных для этого регулярного выражения.
>>>
>>>  воскресенье, 5 апреля 2015 г. пользователь Алексей Мышкин написал:
>>>>  Есть подозрение что жадный квантификатор берёт всё что может, и строке за скобками уже ничего не остаётся.
>>>>
>>>>  5 апреля 2015 г., 15:42 пользователь Кузьменко Константин <ikkv на yandex.ru> написал:
>>>>>  Добрый день Moscow.pm
>>>>>  Не могу понять регулярки перл!
>>>>>
>>>>>  #!/usr/bin/perl
>>>>>
>>>>>  use strict;
>>>>>  use warnings;
>>>>>  use utf8;
>>>>>  use open qw/ :encoding(utf8) :std /;
>>>>>  #use open qw/ :encoding(cp1251) :std /;
>>>>>
>>>>>  my @onfil = @ARGV;
>>>>>  open(INFIL, "<:encoding(cp866)", $onfil[0])
>>>>>      or die "NO STANDART $!";
>>>>>
>>>>>  while (<INFIL>) {
>>>>>      $_ =~ s/\h+//g;
>>>>>      $_ =~ s/\|/;/g;
>>>>>      $_ =~ s///g;
>>>>>      $_ =~ s/^(.*;).*;.*;.*;.*;.*;(.*;.*;.*;.*;.*;.*;)$//g; # Не удаляется в скобках
>>>>>      print;
>>>>>  }
>>>>>
>>>>>  close INFIL;
>>>>>
>>>>>  __END__
>>>>>
>>>>>  Может что нибудь посоветуете
>>>>>  зы: Z yjdbxjr d Зукл
>>>>>  --
>>>>>  Специалист IT, GNU, FLOSS, Open Source
>>>>>  Моб: +7 (951) 131 33 90
>>>>>  С уважением,
>>>>>  Кузьменко Константин Викторович
>>>>>
>>>>>  --
>>>>>  Moscow.pm mailing list
>>>>>  moscow-pm на pm.org | http://moscow.pm.org
>>>>  --
>>>>  С уважением,
>>>>  Мышкин Алексей.
>>>  --
>>>  С уважением, Миронов Иван!
>>>  тел.: +7 (926) 206-90-39
>>>
>>>  ,
>>>
>>>  --
>>>  Moscow.pm mailing list
>>>  moscow-pm на pm.org | http://moscow.pm.org
>>  --
>>  Moscow.pm mailing list
>>  moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Best regards,
> Ilya Chesnokov
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


Подробная информация о списке рассылки Moscow-pm