More or less what you are after ;-)
use Term::ReadKey; ReadMode 4; # raw mode END{ ReadMode 0 } # restore mode my @data = map{"$_\tjaph\n"}1..100; my ($page, $line, $key) = (20,0,''); clear_screen(); while( $line < @data ) { if ($line and 0 == $line % $page) { printf "--- More or Less (%d%%) ---\n", int(100*$line/@data); 1 while not defined ($key=ReadKey(0.5)); $line -= 2*$page if $key =~ m/b/i; $line = 0 if $line < 0; exit if $key =~ m/q/i; clear_screen(); } print $data[$line++]; } sub clear_screen { system($^O =~ m/Win32/ ? 'cls' : 'clear') }
In reply to Re: Sleep until keypress
by tachyon-II
in thread Sleep until keypress
by vendion
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |