#!/usr/bin/env perl
use Term::ReadKey;
ReadMode 4;
END {
ReadMode 0; # Reset tty mode before exiting
}
while (<>) {
$key = ReadKey(0);
$key == "\x04" and last; # Ctrl+D breaks the loop
print $key;
}
while ループなしで実行すると、入力した内容が出力されました。
最後に出力さえ生成しません(バッファリングしていた場合など)。それを実行して数文字を入力し、Ctrl+D を押すように。それは何も印刷しません。
マウス スクロールのエスケープ コードを keypresses に変換するプログラムを作成しようとしています。間違った木を吠えていないことを願っています。