in reply to Modifying date/time stamps
cheers, -semio
posting the updated code for comparison purposes.
#!/usr/bin/perl -w use Text::ParseWords; use POSIX qw(strftime); use strict; my $log = "pixlog"; my $looptime = 300; my $maxsize = 1000; my (@lines, @fields, @devices, @duoutput); my ($devices, $device, $item, $x); while (1) { my $newlog = strftime "%d%m%Y%H%M%S.fakepix.lgz", localtime; open (LOGFILE, "< $log") || die "Could not open file: $! \n"; @lines = <LOGFILE>; close (LOGFILE); open (NEWLOG, ">$newlog"); foreach $item (@lines) { @fields = quotewords(' ',0,$item); my $month = strftime "%b", localtime; my $time1 = strftime "%H:%M:%S", localtime; my $time2 = strftime "%H:%M:%S:", localtime; my $date = strftime "%d", localtime; my $year = strftime "%Y", localtime; if ($fields[7] =~ (m/:\d+\d+:\d+\d+:/)) { $fields[0] = $month; $fields[1] = $date; $fields[2] = $time1; $fields[4] = $month; $fields[5] = $date; $fields[6] = $year; $fields[7] = $time2; } else { $fields[0] = $month; $fields[1] = $date; $fields[2] = $time1; } for ($x=0; $x <= $#fields; $x++) { if ($x eq $#fields) { print NEWLOG "$fields[$x]"; } else { print NEWLOG "$fields[$x]"; print NEWLOG " "; } } } close (NEWLOG); sleep($looptime) }
|
|---|