#!/usr/bin/perl # http://perlmonks.org/?node_id=1178418 use strict; use warnings; sub eightdigitdate { my @fields = localtime(shift); sprintf '%04d%02d%02d', $fields[5] + 1900, $fields[4] + 1, $fields[3 +]; } sub nextday { use Time::Local; shift() =~ /(\d{4})(\d\d)(\d\d)/; eightdigitdate( 60*60*24 + timelocal 0, 0, 12, $3, $2 - 1, $1 ); } #my $today = eightdigitdate(time); my $today = '20161002'; print scalar <DATA>; print my @data = <DATA>; my $more = 1; while($more) { for(@data) { my $date = (split)[1]; if( $date < $today ) { s/\b$date\b/ nextday($date) /e; print; } else { $more = 0; } } } __DATA__ F12 F11 F481 F55 F989 8204 20160930 1064.848 test Y 8204A 20160930 1064.505 test Y 8204B 20160930 1045.469 test Y
In reply to Re: perl file formatting
by tybalt89
in thread perl file formatting
by perlforsgs
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |