#!/usr/bin/perl -w use strict; use English; use Net::Pcap; use Time::HiRes qw (setitimer time ITIMER_REAL); my($dev, $pcap_t, $err); $dev = Net::Pcap::lookupdev(\$err); $pcap_t = Net::Pcap::open_live($dev, 1500, 1, 0, \$err); my $count = 0; sub process_pkt { my ( $user_data, $hdr, $pkt ) = @_; $count++; $SIG{ALRM} = sub { print time, " $count\n"; $count = 0 }; setitimer(ITIMER_REAL, 0.5, 0.5); } Net::Pcap::loop( $pcap_t, 0, \&process_pkt, "argument"); Net::Pcap::close($pcap_t);