sub get_cur_time { # Use a slice to get just the bits I need my ( $Second, $Minute, $Hour, $Day, $Month, $Year, $WeekDay ) = (localtime)[ 0 .. 5 ]; return sprintf '%0.2d/%0.2d/%0.4d %0.2d:%0.2d:%0.2d', $Month + 1, $Day, $Year + 1900, $Hour, $Minute, $Second; } #### while( my $line = ) { if ( $line =~ /\Q$aDate\E/ ) { print $line; } }