🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
3 messages
3 total messages Started by piecia aka dracorp Fri, 09 Sep 2011 08:30
Zamiana ciągu znaków z nowymi liniami
#52284
Author: piecia aka dracorp
Date: Fri, 09 Sep 2011 08:30
20 lines
1542 bytes
Witam
Z racji pewnych zmian w perlu (>5.14) tzn:
*Use of qw(...) as parentheses is deprecated*
Chciałbym wszystkie wystąpienia qw() zamienić na (qw(...)). W niektórych 
przypadkach pomiędzy wyrazami może wystąpić nowa linia.
Więc coś takiego nie do końca zadziała:

#v+
perl -pi -e 's/(qw\([^)]+\))/\(\1\)/mg' plik
#v-

Zamieni mi qw() występujące w jednej linii ale rozbite na kilka linii już 
nie.
Jak prawidłowo powinno się to zapisać?

Wydawało mi się że modyfikator /m powinien to przełknąć ale jednak nie.

-- 
piecia aka dracorp
pisz na: piotr kropka rogoza at wp kropka eu
Re: Zamiana ciągu znaków z nowymi liniami
#52285
Author: Stachu 'Dozzie' K.
Date: Fri, 09 Sep 2011 08:37
26 lines
2065 bytes
On 2011-09-09, piecia aka dracorp <imie.nazwisko@wp.eu> wrote:
> Witam
> Z racji pewnych zmian w perlu (>5.14) tzn:
> *Use of qw(...) as parentheses is deprecated*
> Chciałbym wszystkie wystąpienia qw() zamienić na (qw(...)). W niektórych 
> przypadkach pomiędzy wyrazami może wystąpić nowa linia.
> Więc coś takiego nie do końca zadziała:
>
> #v+
> perl -pi -e 's/(qw\([^)]+\))/\(\1\)/mg' plik
> #v-
>
> Zamieni mi qw() występujące w jednej linii ale rozbite na kilka linii już 
> nie.
> Jak prawidłowo powinno się to zapisać?
>
> Wydawało mi się że modyfikator /m powinien to przełknąć ale jednak nie.

1. Nie umiesz używać backreferencji. Doczytać w `man perlre' sekcję
   "Capture buffers".
2. Nie rozumiesz jak działa przełącznik /m. Doczytać w `man perlop'.
3. Nie rozumiesz jak działa opcja -p. Doczytać w `man perlrun'.

-- 
Secunia non olet.
Stanislaw Klekot
Re: Zamiana ciągu znaków z nowymi liniami
#52286
Author: piecia aka dracorp
Date: Fri, 09 Sep 2011 10:27
12 lines
1310 bytes
Dnia Fri, 09 Sep 2011 08:37:54 +0000, Stachu 'Dozzie' K. napisał(a):
...

Tam zaraz nie rozumiem, po prostu zapomniałem. Aczkolwiek dzięki za 
naprowadzenie
#v+
perl -pi -0777 -e 's/(qw\([^)]+\))/\($1\)/g' plik
#v-

-- 
piecia aka dracorp
pisz na: piotr kropka rogoza at wp kropka eu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads