
Net::FTPServer::XferLog - parse FTP server xfer logs.

# XFERLOG file:
Mon Oct 1 17:09:23 2001 0 127.0.0.1 2611 1774034 a _ o r tmbranno ftp 0 * c Mon Oct 1 17:09:27 2001 0 127.0.0.1 22 1774034 a _ o r tmbranno ftp 0 * c Mon Oct 1 17:09:31 2001 0 127.0.0.1 7276 p1774034_11i_zhs.zip a _ o r tmbranno ftp 0 * c
# parse xfer log PROGRAM:
use Net::FTPServer::XferLog;
open T, 'test.xlog' or die $!;
my $hashref;
while (<T>) {
$hashref = Net::FTPServer::XferLog->parse_line($_);
map { print "$_ => $hashref->{$_} \n" } @Net::FTPServer::XferLog::field;
print "-------------------";
}
# OUTPUT
day_name => Mon month => Oct day => 1 current_time => 17:09:23 year => 2001 transfer_time => 0 remote_host => 127.0.0.1 file_size => 2611 filename => 1774034 transfer_type => a special_action_flag => _ direction => o access_mode => r username => tmbranno service_name => ftp authentication_method => 0 authenticated_user_id => * completion_status => c ------------------- day_name => Mon month => Oct day => 1 current_time => 17:09:27 year => 2001 transfer_time => 0 remote_host => 127.0.0.1 file_size => 22 filename => 1774034 transfer_type => a special_action_flag => _ direction => o access_mode => r username => tmbranno service_name => ftp authentication_method => 0 authenticated_user_id => * completion_status => c ------------------- day_name => Mon month => Oct day => 1 current_time => 17:09:31 year => 2001 transfer_time => 0 remote_host => 127.0.0.1 file_size => 7276 filename => p1774034_11i_zhs.zip transfer_type => a special_action_flag => _ direction => o access_mode => r username => tmbranno service_name => ftp authentication_method => 0 authenticated_user_id => * completion_status => c -------------------

This parses xferlog(5) files into Perl hashrefs. The fields returned are shown in the synopsis. Note that the standard current-time field is returned as 5 separate fields here: day_name, month, day, current_time, year.
None by default.

T. M. Brannon <tbone@cpan.org>
Thanks to
