2011-08-06 3 views
2

Perlでかなり長いフレーズを印刷したいとします。ほとんどの場合と同様に、私はcmdでPerlコードを実行します(そして後でそれを実行可能にすることを期待しています)。可読な方法で印刷する(Perl)

問題は、各ユーザーが独自のコマンドラインサイズを持つため、コードが途中で単語を切り取り、次の行に書き込むことがあることです。例:

This is a te 
xt 

私はそのようなことを望んでいません。私は "This is a \ ntext"を見るのが好きです。しかし、言ったように、いくつかのユーザーはコマンドラインのサイズが違うので、手動で編集することはできません。すべての言葉全体を印刷するためにできることはありますか?

+2

あなたは、端末の幅を取得する必要があります - [私はperlで、端末の幅を取得するにはどうすればよい]この質問を参照してください(HTTP ://stackoverflow.com/questions/1782107/how-do-i-retrieve-the-terminal-width-in-perl)コアモジュール[Text :: Wrap](http://perldoc.perl.org)も参照してください。 /Text/Wrap.html) – ErikR

答えて

5

現在の端末幅を取得するためにモジュールTerm::ReadKeyでコアモジュールText::Wrapを使用します。

use Term::ReadKey; 
use Text::Wrap; 

my ($width, $height, $wpixels, $hpixels) = GetTerminalSize(); 
$Text::Wrap::columns = $width; 
print wrap('', '', $text); 
+0

これはうまくいきました。 – Rob

関連する問題