假设我希望在Perl中打印相当长的短语。像大多数人一样,我在cmd下运行Perl代码(稍后期望从中生成可执行文件)。
问题是,因为每个用户都有自己的命令行大小,有时代码会在中间剪掉一个单词,并在下一行完成它。例如:
This is a te
xt
我不想要这样的事情;我更喜欢看到"这是一个文本"。但是,如前所述,一些用户有不同大小的命令行,所以我无法手动编辑它。有没有什么办法可以把所有的单词打印出来?
使用核心模块Text::Wrap与模块Term::ReadKey来获得当前终端宽度:
use Term::ReadKey;
use Text::Wrap;
my ($width, $height, $wpixels, $hpixels) = GetTerminalSize();
$Text::Wrap::columns = $width;
print wrap('', '', $text);