Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters.
Text::LineFold splits the input string by specific line break characters (such as VT, FF and others) into segments, but applies the break function to the entire string, not just the segment.
A side effect of this is that the full input can be duplicated for each segment. Besides being incorrect, this can lead to unexpected resource consumption and possible denial of service.
Note that Text::LineFold is part of the Unicode-LineBreak distribution, which may have a higher version number than the module.
Fix: Sync options of Text::LineFold->new() with base class.
Changes for version 1.000_02
Fix: Correct Thai (th) tests.
Fix: Unassigned code points are given N, not A (except those of SIP are W).
Imp: strsize(): Now texts are broken at boundaries of graphame cluster.
Chg: SA characters are resolved by Grapheme_Cluster_Break property, as some suffixing vowels have General_Category Lo and some others have Grapheme_Cluster_Break Prepend property.
Added tests for incremental input.
Chg: Remove @LB_CLASSES which may not be used;
Chg: Remove NarrowAL and NSKanaAsID options: use TailorEA/TailorLB options.