SPELL=text-asciipipe VERSION=1.001000 SOURCE="Text-ASCIIPipe-${VERSION}.tar.gz" SOURCE_URL[0]=$PERL_CPAN_URL/authors/id/T/TH/THORGIS/${SOURCE} SOURCE_HASH=sha512:1bc2e02a4d3f7e7fec4979c3947b0af50fa3093287ea458722488ffff2ff52af14339f1fe2224fa9353fbde863bd92d8c94b371e2379a3a0d3280adbb4b54ee0 SOURCE_DIRECTORY="${BUILD_DIRECTORY}/Text-ASCIIPipe-${VERSION}" WEB_SITE="http://search.cpan.org/~thorgis/Text-ASCIIPipe/" LICENSE[0]=ART ENTERED=20121002 SHORT="helper for processing multiple text files in a stream (through a pipe, usually)" cat << EOF A lot of the speed penalty of Perl when processing multiple smallish data sets from/to text form consists of the perl compiler startup / script compilation, which accumulates when looping over a set of files. This process can be sped up a lot by keeping the pipe alive and streaming the whole file set through it once. This module helps you with that. Of course, a pipe of several scripts parsing/producing text will still be slower than a custom C program that does the job, but with this trick of avoiding repeated script interpretation/compilation, the margin is a lot smaller. When dealing with ASCII-based text files (or UTF-8, if you please), there are some control characters that just make sense for pushing several files as a stream, separated by these characters. These are character codes 2 (STX, start of text), 3 (EOT, end of text) and 4 (ETX, end of transmission). All this module does is provide a wrapper for inserting these control characters for the sender and parsing them for the receiver. Nothing fancy, really. I just got fed up writing the same loop over and over again. It works with all textual data that does not contain control characters below decimal code 5. EOF .