http://www.perlmonks.org?node_id=996333


in reply to Re^4: Reading every file in a directory
in thread Reading every file in a directory

Try the following on a scratch directory that contains some scratch .yml files:

use strict; use warnings; my $directory = './yml'; my $fiveDays = 5 * 86400; my $currentTime = time; my ( $fileLine, $timeStamp ); for my $YMLfile (<"$directory/*.yml">) { open my $fh, '<', $YMLfile or die $!; while ( $fileLine = <$fh> ) { last if ($timeStamp) = $fileLine =~ /login: (\d+)/; } close $fh; # Divide 13 digit TS by 1000 to convert to 10 digit TS if ( ( $currentTime - $timeStamp / 1000 ) > $fiveDays ) { print "Login TS in $YMLfile is greater than five days old.\n"; } }

Verify that the files shown by the routine have a login timestamp (TS) greater than five days. If the script is working as needed/expected, try the following on your scratch dir and files (place it on the next line after the print statement, so files are conditionally unlinked):

unlink $YMLfile or warn "Could not unlink $YMLfile: $!";

Disclaimer: Be very careful with this file-deleting script, as you're assuming all responsibility for the use of it.