I tried hugepad. It looks like a neat utility. Unfortunately it does not work with my kind of data which comes in one single continuous line. I might have to tweak it so that it breaks my text using a different text separator (i.e. local $/ = chr(29)). Here is an example of the data I use:
01985cam 2200253 45 0008004100000020001500041024001700056028004500073037005000118245022200168250001600390260013500406300006000541500019900601508026800800511009801068520035801166521006701524546007501591650002101666650002601687596000601713598001201719000000n 000 0 eng u a0788858424 a786936278057 a39664 b Walt Disney Home Entertainment. b Midwest Tapes n http://www.midwesttapes.com aThe pacifier h [videorecording] / c Walt Disney Pictures ; Spyglass Entertainment ; produced by Gary Barber, Roger Birnbaum, Jonathan Glickman ; writers, Thomas Lennon & Robert Ben Grant ; directed by Adam Shankman. aWidescreen. a[United States] : b Walt Disney Home Entertainment ; a Burbank, CA : b Distributed by Buena Vista Home Entertainment, c [2005] a1 videodisc (ca. 95 min.) : b sd., col. ; c 4 3/4 in. aSpecial features: Outrageous bloopers; deleted scenes; on the set with Mr. Diesel: action hero/nice guy; Brad Garrett: unpacified; audio commentary with the director; special ops TV commercials. aDirector of photography, Peter James ; art director, Arvinder Grewal ; editor, Christopher Greenbury ; music, John Debney ; costume designers, Christopher Hargadon, Kirston Leigh Mena ; production designer, Linda DeScenna ; special effects supervisor, Tony Kenny. aVin Diesel, Lauren Graham, Faith Ford, Brittany Snow, Max Thieriot, Carol Kane, Brad Garrett. aLt. Shane Wolfe is a tough-as-nails Navy SEAL who has controlled military operations in every corner of the globe. Now, the ultimate test comes when he's assigned to protect the home front. As in a house loaded with five out-of-control kids! But even when he trades combat gear for diapers and juice boxes, it's becomes more than just a babysitting job. aMPAA rating: PG; for action violence, language and rude humor. aEnglish or dubbed French dialogue, French subtitles; closed-captioned. xFamily v Drama. xBabysitters v Drama. a7 aIWA-NEW
Reading the data using the 100 linespan seems like a good approach. I had to tweak this line though to get the script to work properly:
my $txt = $text_widget->get( $startid, "$startid + $linespan lines" ).
Thank you guys for leading me in the right direction.
Edit: g0n - readmore tags round data