If you're interested in lots of details of a smaller number of packets, it's very useful to output in PDML format, and have a generic Perl parser that will suck in ALL of the data about every packet.
Use tshark's built-in Lua to do all your work. Lua already has all the wireshark API hooks, and Lua avoids the convert-binary-to-text and then convert-text-back-to-binary cycle that is necessary with Perl. (granted, it's not totally necessary to do this &mash; there are Net::TcpDumpLog or Net::Pcap — but sometimes it's a pain to have to install extra perl modules).
Notes:
dofile("c:/src/lua/helloworld.lua")