I'm not entirely sure that I understand your question, but if you just want to show that the script is running without using up screen space, consider using a "spinner" which twirls in place:
use warnings;
use strict;
my $spin;
while (1) {
print substr( "-/|\\", $spin++ % 4, 1 ), "\b";
$| = 1;
select undef, undef, undef, 0.05;
}
I changed your "sleep .05" to "select undef, undef, undef, 0.05" because the normal Perl sleep function works in seconds, so "sleep .05" is the same as "sleep 0". See
sleep for an explanation and other alternatives.
I also added "$|=1" to avoid having the output getting buffered and not displaying anything for long periods of time; see
$OUTPUT_AUTOFLUSH.