The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.005

  • Change: 31cb38417cd994ea62ab188827ce78bea2039ca3 Author: Rocco Caputo <rcaputo@cpan.org> Date : 2012-04-29 18:06:21 +0000
    • Standardize my distribution workflow.
  • Change: 0a3df819d0f29418b3f8d834cc3004d27fa16e98 Author: Rocco Caputo <rcaputo@cpan.org> Date : 2012-04-29 14:21:20 +0000
    • Merge pull request #2 from kimmel/master
    • Add package App::PipeFilter so CPAN can find it by its distribution name.
  • Change: a5038ba147d7f9a2663e342ea7e0654d296b890c Author: Rocco Caputo <rcaputo@cpan.org> Date : 2012-04-29 17:12:51 +0000
    • [rt.cpan.org 76837] Un-hardcode sort(1) and cut(1) paths for jsort.
    • Peter P. Hallam pointed out that my hardcoded /usr/bin/sort and /usr/bin/cut weren't universal. I added a little path search with fallbacks to /usr/bin/env {sort,cut}. It's still not non-UNIX safe, of course, but I'm hoping I'll get patches for other systems.
  • Change: bf4730bbb518c0a5e4b5586a28aa729e25316b74 Author: Kirk Kimmel <kimmel.k.programmer@gmail.com> Date : 2012-04-28 01:29:09 +0000
    • App::PipeFilter should now work correctly with the cpan client and metacpan.org indexing.
  • Change: 3065ebb3b2e97598646d54a55780d1074602289b Author: Rocco Caputo <rcaputo@cpan.org> Date : 2012-04-27 14:08:15 +0000
    • Document where to read about JSONPath.
  • Change: 2b51acc36f1abbe5670605952fddc8cfde6450dd Author: Rocco Caputo <rcaputo@cpan.org> Date : 2011-06-13 16:30:18 +0000
    • Add json2pcap to write pcap files from JSON input.
    • Required the ability to open output files and write to them in different ways. For example, using Net::Pcap's functions for those purposes.
  • Change: 4ebaf976c9b6a318b65cec473e41dcd77f015c17 Author: Rocco Caputo <rcaputo@cpan.org> Date : 2011-06-09 16:39:47 +0000
    • Add tools to read pcap and convert network layers to JSON.
  • Change: 4e2502c7fba5448e9305ff64ce43ea23bd1b07a2 Author: Rocco Caputo <rcaputo@cpan.org> Date : 2011-06-06 19:09:36 +0000
    • Add support for tab-separated output.
    • Implement a TSV output role. Implement a JsonToTsv subclass of App::PipeFilter::Generic. Implement json2tsv, which is like jcut but outputs TSV.

Documentation

concatenate and print JSON files
cut out selected portions of each JSON object in a file
map input JSON fields to output JSON fields by renaming them
convert files of JSON objects into a stream of TSV rows
convert files of JSON objects into a stream of YAML objects
use JSON::Path to cut out selected portions of JSON objects
sort input files of JSON objects on key fields
convert mysql -B output to JSON object streams

Modules

a generic JSON pipeline filter
useless use of cat(1) for JSON streams
return specified fields from a JSON stream
map input fields to output fields by renaming them
return JSON::Path-specified fields from a JSON stream
a sort(1)-like filter that understands JSON fields
translate streams of JSON objects into tab-separated columns
translate streams of JSON objects into YAML
translate mysql batch output to JSON
standard flag attributes and getopt
parse input as a stream of JSON records
generic methods to open input and output files
common method to open input files
a generic method to open output files
serialize output as one JSON object per line
serialize output objects one per TSV row
serialize output as YAML
read input streams one line at a time
read input streams in large chunks for speed
don't transform data at all

Provides

in lib/App/PipeFilter/Generic.pm
in lib/App/PipeFilter/JsonEthernetToIp.pm
in lib/App/PipeFilter/JsonIpToUdp.pm
in lib/App/PipeFilter/JsonPcapToEthernet.pm
in lib/App/PipeFilter/JsonToPcap.pm
in lib/App/PipeFilter/PcapToJson.pm
in lib/App/PipeFilter/Role/Input/ArrayBuffer.pm
in lib/App/PipeFilter/Role/Opener/PcapInput.pm
in lib/App/PipeFilter/Role/Opener/PcapOutput.pm
in lib/App/PipeFilter/Role/Output/Pcap.pm
in lib/App/PipeFilter/Role/Reader/Pcap.pm
in lib/App/PipeFilter/Role/Transform/EthernetToIp.pm
in lib/App/PipeFilter/Role/Transform/IpToUdp.pm
in lib/App/PipeFilter/Role/Transform/PcapToEthernet.pm
in lib/App/PipeFilter/Role/Writer/Pcap.pm
in lib/App/PipeFilter/Role/Writer/Print.pm