Re: Funny phenomena on $_=~m/(.*)$/ with package NKF(perl-5.8.0)
河野真治 @ 琉球大学情報工学です。
In article <m2el29c3r1.fsf@owlin.tksa.gr.jp>, YAMADA Kunihiro <king@tksa.gr.jp> writes
> すみません、nkf の version を書き忘れました。
> libnkf-perl 2.01-5
> nkf 2.01-5
> でした。
(う、僕の知らないversionかも...)
> >> $_ = nkf("-e","ABC");
> >> としたものは、regular expression での行末 $ のマッチングができなくなる、
> >> という現象です。
> では、ソースを追っかけてみる事にしましょう。
/* SvPV(result,o_len) does not work here. */
output = SvPVX(result);
o_len = rlen;
output_ctr = 0;
/* Convestion */
kanji_convert(NULL);
/* nkf_putchar(0); Null terminator */
RETVAL = result;
SvPOK_on(RETVAL);
/* We cannot use
SvCUR_set(RETVAL, strlen(output));
because output can contain \0.
*/
SvCUR_set(RETVAL, output_ctr);
のあたりで、最後にstrlen を設定にいくわけなんだけど、
そいつが問題なみたい。長さは output_ctr で確定してい
るんですけどね。
---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科,
科学技術振興事業団さきがけ研究21(機能と構成)
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735