in reply to print 'more'.

Prsumably you have two things happening : 1) you print screen fulls of data; 2) You pause for user input. Obviously the printing will cease when you get to the $answer = <STDIN>;. Thus you problem is how to simulate more when you print the other stuff. You can do this easily by defining a custom print function.

sub print_more; # declare a proto my $more = 20; # twenty lines then stop my $wrap = 80; # assume that we will wrap at 80 cols print_more $some_big_string, @big_array; { my $line_count = 0; # declare a closure to remember lines printed sub print_more { my $data = join'', @_; my @data_lines = split "\n", $data; for my $line (@data_lines) { # add one line if less than $wrap long (no wrap) # or more for long lines that will wrap $line_count += int ((length($line))/$wrap) + 1; if ($line_count < $more ) { print $line, "\n"; } else { print "[Hit Enter key to continue]"; <STDIN>; $line_count = int ((length($line))/$wrap) + 1; print $line, "\n"; } } } }

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print