Well, if you are going to write the output to disk file, the
program will even be slower, as disks are orders of a magnitude
slower than memory. If you are writing to memory, you quickly
have a problem because the large amounts of data tcpdump is
writing will quickly fill up large chuncks of memory. If it's
indeed the buffer size that is the problem, you're better off
enlarging the buffer size, by tweaking the OS.
But I expect that this is one of the cases one would prefer
to use C instead of Perl.
Abigail