<div dir="ltr"><div>Ahoj,</div><div><br></div><div>podle debugu regularnich vyrazu to cele selze uz v optimalizacni fazi, kdy se matchuji pevne retezce, viz:</div><div><br></div><div>echo AB:pán | perl -CSAD -Mutf8 -Mre=debugcolor -ne 'print if /AB:.*án$/'</div>
<div>Compiling REx "AB:.*%x{e1}n$"</div><div>Final program:</div><div>   1: EXACT <AB:> (3)</div><div>   3: STAR (5)</div><div>   4:   REG_ANY (0)</div><div>   5: EXACT <\x{e1}n> (7)</div><div>   7: EOL (8)</div>
<div>   8: END (0)</div><div>anchored utf8 "AB:" at 0 floating utf8 "%x{e1}n"$ at 3..2147483647 (checking anchored) minlen 5 </div><div>Guessing start of match in sv for REx "AB:.*%x{e1}n$" against "AB:p%x{e1}n%n"</div>
<div>UTF-8 pattern and string...</div><div>Found anchored substr "AB:" at offset 0...</div><div>Contradicts floating substr "%x{e1}n"$, giving up...</div><div>Match rejected by optimizer</div><div>Freeing REx: "AB:.*%x{e1}n$"</div>
<div><br></div><div>To n na konci "%x{e1}n" je nejake divne. Clovek nikdy nevi, co za retezec nakonec dorazi, tak se na to podivejme:</div><div><br></div><div>echo 'AB:pán' | perl -ne 'print join " ", map{ord} split m{}xms'</div>
<div>65 66 58 112 195 161 110 10</div><div><br></div><div>Ha, vypada to, ze je tam LINEFEED navic. Takze problem neni v perlu, ale v prikazu echo, ktery ho tam automaticky prida, kdyz neni volan s volbou -n :-)</div><div>
<br></div><div>Zdravi</div><div>j. v.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Dne 4. září 2014 8:49 Jan Kasprzak <span dir="ltr"><<a href="mailto:kas@fi.muni.cz" target="_blank">kas@fi.muni.cz</a>></span> napsal(a):<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Pavel Smerk wrote:<br>
:       Ahoj vespolek,<br>
<div class="">:<br>
: asi mám nějaké zatmění mysli: proč druhý příkaz nic nevypíše? Stejně tak se<br>
: to chová i v perl 5.10, naopak novější nemám k dispozici.<br>
<br>
</div>        5.8 a 5.18 se chová stejně. Na locale by to nemělo záviset, pokud nedáš<br>
-Mlocale (i s LC_ALL=C se to chová stejně). Ještě jsem ověřil, že se to chová<br>
stejně divně i pro jiné kategorie znaků:<br>
<br>
$ echo AB:pスn | perl -Mutf8 -CSAD -ne 'print if /AB:.*スn$/'<br>
<br>
kromě ascii, ovšem:<br>
<br>
$ echo AB:pan | perl -Mutf8 -CSAD -ne 'print if /AB:.*an$/'<br>
AB:pan<br>
<br>
a že součástí problému může být struktura toho RE:<br>
<br>
$ echo AB:pán | perl -Mutf8 -CSAD -ne 'print if /AB[:x].*án$/'<br>
AB:pán<br>
$ echo AB:pán | perl -Mutf8 -CSAD -ne 'print if /A[BC]:.*án$/'<br>
AB:pán<br>
<br>
naopak v -Mutf8 -CSAD problém není - když to nahradím za use utf8 a podobně,<br>
tak se to chová stejně.<br>
<br>
        Moc jsem nepomohl, sorry.<br>
<br>
-Y.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
| Jan "Yenya" Kasprzak   <kas at {<a href="http://fi.muni.cz" target="_blank">fi.muni.cz</a> - work | <a href="http://yenya.net" target="_blank">yenya.net</a> - private}> |<br>
| New GPG 4096R/A45477D5 -- see <a href="http://www.fi.muni.cz/~kas/pgp-rollover.txt" target="_blank">http://www.fi.muni.cz/~kas/pgp-rollover.txt</a> |<br>
| <a href="http://www.fi.muni.cz/~kas/" target="_blank">http://www.fi.muni.cz/~kas/</a>     Journal: <a href="http://www.fi.muni.cz/~kas/blog/" target="_blank">http://www.fi.muni.cz/~kas/blog/</a> |<br>
Hatsune Miku: the only girl that can have a leek in a song called "Bad Apple"<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@mailman.muni.cz">Perl@mailman.muni.cz</a><br>
<a href="https://mailman.muni.cz/mailman/listinfo/perl" target="_blank">https://mailman.muni.cz/mailman/listinfo/perl</a><br>
</div></div></blockquote></div><br></div>