1

我刚开始使用 Perl,我想编写自己的脚本来扫描文档并将生成的 TIFF 文件转换为 PDF 文件。如果转换成功(使用tiff2pdf),我想在行尾打印“完成”,但我似乎无法在 Web 上找到执行此操作的提示。

我的猜测是我必须得到终端的几何形状并计算我已经打印的字母,但这似乎很复杂。你有什么建议吗?

4

1 回答 1

3

您必须检查要打印到的终端的大小是正确的。有很多方法可以做到这一点,但我所知道的最便携和最可靠的方法是Term::Size::Any.

这样,您可以获得正在运行的终端的宽度:

use Term::Size::Any;
my $cols = chars *STDOUT{IO};

有了它,你可以打印任何你想要的东西,用适量的空白填充,例如:

printf "% ${cols}s", "Done\n";

另请注意,程序并不总是输出到终端。例如,可以将输出重定向到文件,因此如果确定终端大小失败,您可能希望有适当的回退。

于 2010-10-10T13:30:21.947 回答