Did you look at the example in
Net::Frame::Layer::UDP? I have to admit I've never used this module, but it looks pretty straightforward. I prefer the NetPacket::* modules myself, which you could use with the 'raw' data returned by Net::Frame::Dump::Offline
fnord