in reply to a perl, awstats and SHOUTCast history
code tags are for both code and data, anyway, use CGI
#!/usr/bin/perl -- use strict; use warnings; Main( @ARGV ); sub Main{ my $raw = q{95.61.50.98 95.61.50.98 2011-07-14 16:04:17 /stream?ti +tle=Unknown 200 vlc%2F1%2E1%2E5 19261930 1193 129160}; my $awmost = q{95.61.50.98 95.61.50.98 2011-07-14 16:04:17 /stream +?title=Unknown 200 vlc%2F1%2E1%2E5 19261930 1193 129160 GET}; my $wanted = q{/stream?title=Unknown 200 VLC 19261930 1193 129160 +GET}; print " $raw $awmost $wanted "; w3clogToAwstats( \$raw , \*STDOUT ); #~ w3clogToAwstats( #~ '/full/path/to/shoutcast/sc_w3c.log', #~ '/same/for/new/awstats_sc_w3c.log', #~ ); } sub w3clogToAwstats { my( $infile, $outfile ) = @_; open my($in), '<', $infile or die "Cannot open($infile): $!"; open my($out), '>', $outfile or die "Cannot open($outfile): $!"; while(<$in>){ my(@F)=split ' ', $_; #~ use DDS; Dump\@F; my($ipa,$ipb, $date,$time, $halfurl, $status, $player, $longnu +m, $shortnum, $mednum ) = @F; use CGI::Util q/unescape/; $player = unescape($player); print $out "$halfurl $status $player $longnum $shortnum $mednu +m GET\n"; } close $in; close $out; } __END__ $ perl awjunk 95.61.50.98 95.61.50.98 2011-07-14 16:04:17 /stream?title=Unknown 200 +vlc%2F1%2E1%2E5 19261930 1193 129160 95.61.50.98 95.61.50.98 2011-07-14 16:04:17 /stream?title=Unknown 200 +vlc%2F1%2E1%2E5 19261930 1193 129160 GET /stream?title=Unknown 200 VLC 19261930 1193 129160 GET
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: a perl, awstats and SHOUTCast history
by Anonymous Monk on Mar 27, 2012 at 11:59 UTC |