in reply to thats what splice() is for...
in thread printing 20 characters in a line.

Here an alternative version:

same idea, but without splice() by using more perlish features like list-flattening and arrayslicing

my @chunk; while ( ( @chunk[0..19] , @array ) = @array ) { print "@chunk\n"; }
but I think splice is better maintainable!

UPDATE: Indeed, real splices are better, see "Good" style for splicing arrays for details.

---
Which song? ;)