大多数终端将chr(8)通过向后移动光标来处理退格().关键是禁用缓冲.
use Time::HiRes qw( sleep );
$| = 1; # Disable buffering on STDOUT.
my $BACKSPACE = chr(0x08);
my @seq = qw( | / - \ );
for (;;) {
print $seq[0];
push @seq, shift @seq;
sleep 0.200;
print $BACKSPACE;
}
print "$BACKSPACE $BACKSPACE";
Run Code Online (Sandbox Code Playgroud)