#!/usr/bin/perl $m=`basename $0`;chomp($m); (@ARGV >= 2) or die "usage: $m [delay (secs)]\n"; use Socket; use POSIX qw(strftime); $y=$ARGV[2] || undef; socket(S,PF_INET,SOCK_DGRAM,getprotobyname("udp")); $i=gethostbyname($ARGV[1]); $p=sockaddr_in(514,$i); open L,"<$ARGV[0]"; while () { if (/[A-Za-z]{3}\s(\s|\d)\d\s\d{2}:\d{2}:\d{2}\s/) { $_=~s/^.{16}//; } push @f,$_; } close L; while (1) { if (defined $y) { select(undef,undef,undef,$y); } $_=$f[int(rand(@f))]; $r=(int(rand(23))*8)+int(rand(7)); $d=strftime "%b %e %H:%M:%S ",localtime; send(S,"<$r>$d$_",0,$p) == length "<$r>$d$_"; }