[Ra] pflogsumm-1.0.15

Michal Moskal malekith w pld-linux.org
Nie, 21 Wrz 2003, 17:54:15 CEST


On Sun, Sep 21, 2003 at 05:43:41PM +0200, Tomasz Wittner wrote:
> Dnia nie 21. września 2003 15:56, Michal Moskal napisał:
> > On Sun, Sep 21, 2003 at 03:29:37PM +0200, Tomasz Wittner wrote:
> > > wiesz, w życiu napisałem jeden program w perlu (konwersja binarnego
> > > archiwum gg z win na plik tekstowy). Ale:
> > > - ... status=([^ ]+) ...
> > > + ... status=(\S+) ...
> > > nie wiem, co o tym myśleć.
> >
> > \s -- spacja (' ', '\t', '\n' etc)
> > \S -- nie spacja
> to wiem
> > Czyli wszystko jest dobrze.
> 
> - było w 1.0.11:	[^ ]+		odpowiedz mi, co dopasowywuje to w perlu? (a na co 			
> to wygląda - i co teraz myślisz o autorze). IHMO: zapewne autor myślał, że w 
> ten sposób dopasuje 1 lub więcej "niebiałych" znaków, a to wyrażenie 
> dopasowywuje akurat wszystko - dalej masz zaufanie do jego programu?

Dopasowuje jeden lub więcej znaków, które nie są spacjami. Jeśli ktoś
użył jako separatora tabulatora, lub \n to miał problem (ale po ([^ ]+)
jest chyba spacja, więc znowu nie taki wielki).

> + jest w 1.0.15:	 \S+		za man perlre \S  Match a non-whitespace character - 
> teraz, może i dobrze.

Teraz jest po prostu trochę lepiej.

> PS:
> perl -e 'while(<>) { print "No space\n" if /[^ ]+/;}' - i naciskaj spacje, 
> tabulacje, literki - efekt zawsze ten sam: No space

$ echo -n " " | perl -e 'while(<>) { print "No space\n" if /[^ ]+/;}'
$ 

Hint -- \n to nie spacja.


-- 
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h



Więcej informacji o liście dyskusyjnej pld-devel-pl