1

Perlを使い始めたばかりで、ドキュメントをスキャンして結果のTIFFファイルをPDFファイルに変換する独自のスクリプトを作成したいと思います。変換が成功した場合(を使用してtiff2pdf)、行の最後に「Done」を出力したいのですが、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 に答える