Спасибо!

23.08.2010 11:35, Игорь Гольденберг пишет:
> 22.08.2010 16:49, Alex Emergy пишет:
>
>> $ echo o-o |perl -pe 'my $res; while ($_ =~ /([A-Za-z0-9]+)/g) { $res .=
>> $1; };print $res;'
>> ooo-o
>> $
>
>> Почему на выходе 'o-o'? Как сделать, чтобы я получал только содержимое $res?
>
>
> Потому что -p.
>
> -p   causes Perl to assume the following loop around your program,
>       which makes it iterate over filename arguments somewhat like sed:
>
>                LINE:
>                  while (<>) {
>                      ...             # your program goes here
>                  } continue {
>                      print or die "-p destination: $!\n";
>                  }
>
> Вот оно и печатает в конце содержимое $_
>
> Попробуйте так:
>
> echo o-o | perl -pe 'my $res; while (/([A-Za-z0-9\n]+)/g) { $res .= $1;
> }; $_ = $res;'
>

-- 
С уважением,
Alex Emergy

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

Дати відповідь електронним листом