The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Text::WrapI18N - Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words


  use Text::WrapI18N qw(wrap $columns);
  wrap(firstheader, nextheader, texts);


This module intends to be a better Text::Wrap module. This module is needed to support multibyte character encodings such as UTF-8, EUC-JP, EUC-KR, GB2312, and Big5. This module also supports characters with irregular widths, such as combining characters (which occupy zero columns on terminal, like diacritical marks in UTF-8) and fullwidth characters (which occupy two columns on terminal, like most of east Asian characters). Also, minimal handling of languages which doesn't use whitespaces between words (like Chinese and Japanese) is supported.

Like Text::Wrap, hyphenation and "kinsoku" processing are not supported, to keep simplicity.

wrap(firstheader, nextheader, texts) is the main subroutine of Text::WrapI18N module to execute the line wrapping. Input parameters and output data emulate Text::Wrap. The texts have to be written in locale encoding.


locale(5), utf-8(7), charsets(7)


Tomohiro KUBOTA, <>


Copyright 2003 by Tomohiro KUBOTA

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.