Would this solution meet your needs? Borrowed from Borodin with Time::Piece.
#!/usr/bin/perl
use strict;
use warnings;
use Time::Piece;
open my $same, '>', 'same_date_logs' or die $!;
open my $diff, '>', 'diff_date_logs' or die $!;
while (<DATA>) {
my ($modtimestamp) = /modifytimestamp: (\d{8})/;
my ($effectiveend) = /effectiveenddate: (\d\d-[A-Z]{3}-\d{4})/;
my $mod_date = Time::Piece->strptime($modtimestamp, '%Y%m%d%');
my $end_date = Time::Piece->strptime($effectiveend, '%d-%b-%Y');
if ($mod_date == $end_date) {
print $same $_;
}
else {
print $diff $_;
}
}
close $same or die $!;
close $diff or die $!;
__DATA__
dn: uid=501553930,ou=worker,dc=tfayd,dc=com modifytimestamp: 20140511062730Z effectiveenddate: 11-MAY-2014
dn: uid=501909342,ou=worker,dc=tfayd,dc=com modifytimestamp: 20140611062730Z effectiveenddate: 11-MAY-2013
Prints to 2 files (below)
C:\Old_Data\perlp>type same_date_logs
dn: uid=501553930,ou=worker,dc=tfayd,dc=com modifytimestamp: 20140511062730Z effectiveenddate: 11-MAY-2014
C:\Old_Data\perlp>type diff_date_logs
dn: uid=501909342,ou=worker,dc=tfayd,dc=com modifytimestamp: 20140611062730Z effectiveenddate: 11-MAY-2013