当我运行此脚本时,只要我不重定向STDOUT
到文件,它就可以正常工作。当我重定向STDOUT
到文件时,ENTER:
中断后的输出。如果我将 重定向到文件,为什么脚本不再起作用STDOUT
?
#!/usr/bin/env perl
use warnings;
use strict;
use Term::ReadKey;
use Unicode::GCString;
use Term::ANSIScreen qw( :all );
select( *STDERR );
$| = 1;
print YELLOW "YELLOW\n";
print RESET;
print "ENTER:";
my $dummy = <>;
print savepos;
my $str = '';
print_readline( $str );
for my $s ( 33 .. 126 ) {
$str .= ' ' . chr( $s ) x 5;
print_readline( $str );
}
print "\n";
sub print_readline {
my ( $str ) = @_;
my $gcs = Unicode::GCString->new( $str );
my $up = int( $gcs->columns() / ( GetTerminalSize )[0] );
print loadpos;
if ( $up ) {
print "\n" x $up, up( $up );
}
print cldown, savepos, $str;
}