Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: perl-Text-ASCIIPipe | Distribution: Mageia |
Version: 1.1.0 | Vendor: Mageia.Org |
Release: 10.mga9 | Build date: Sun Mar 20 15:14:13 2022 |
Group: Development/Perl | Build host: localhost |
Size: 22588 | Source RPM: perl-Text-ASCIIPipe-1.1.0-10.mga9.src.rpm |
Packager: umeabot <umeabot> | |
Url: https://metacpan.org/release/Text-ASCIIPipe | |
Summary: Helper for processing multiple text files in a stream (through a pipe, usually) |
A lot of the speed penalty of Perl when processing multiple smallish data sets from/to text form in a shell loop consists of the repeated 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. The process() function itself tries to employ a bit of smartness regarding buffering of the output. Since the actual operation of multiple ASCIIPipe-using programs in a, well, pipe, might conflict with the default buffering of the output stream (STDOUT), process() disables buffering on the output whenever it encounters the first STX. This mirrors the code this module has been pulled from: It made sense there, enabling the last consumer in the pipe to get the end of a file in time and act on that information. This behaviour can be turned off by giving flush=>0 as parameter.
GPL+ or Artistic
* Sun Mar 20 2022 umeabot <umeabot> 1.1.0-10.mga9 + Revision: 1806328 - Mageia 9 Mass Rebuild
/usr/bin/asciipipe_in /usr/bin/asciipipe_out /usr/share/doc/perl-Text-ASCIIPipe /usr/share/doc/perl-Text-ASCIIPipe/Changes /usr/share/doc/perl-Text-ASCIIPipe/META.json /usr/share/doc/perl-Text-ASCIIPipe/META.yml /usr/share/doc/perl-Text-ASCIIPipe/MYMETA.yml /usr/share/doc/perl-Text-ASCIIPipe/README /usr/share/man/man3/Text::ASCIIPipe.3pm.xz /usr/share/perl5/vendor_perl/Text /usr/share/perl5/vendor_perl/Text/ASCIIPipe.pm
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Nov 8 07:44:39 2024