use File::Slurp; my $file = read_file( "1.rtf" ); $match0 = "Date of Last Update: "; $match1 = "Sign-Off Approvals"; $match2 = "Jane Doe, CEO"; if ($file =~ /$match0/){ open my $file, "<", "1.rtf"; my $startpos0 = "@-"; seek $file, $startpos0 +2, 0; read $file, my $calender_date, 29; if ($calender_date =~ /\\/){ seek $file, $startpos0 +2, 0; read $file, my $calender_date, 31; print "\n"; print "$calender_date\n\n"; } else { print "\n"; print "$calender_date\n\n"; } } if ($file =~ /$match1/){ open my $file, "<", "1.rtf"; my $startpos1 = "@+"; seek $file, $startpos1 +42, 0; read $file, my $first_sig, 66; print "$first_sig\n"; print "Jane Doe\n\n"; } if ($file =~ /$match2/){ open my $file, "<", "1.rtf"; my $startpos2 = "@+"; seek $file, $startpos2 +82, 0; read $file, my $second_sig, 67; print "$second_sig\n"; print "John Doe\n\n"; } prints: C:\Users\guy\Desktop\tests>test.pl Date of Last Update: 10/15/2013 ______________________________________________________/_____/_____ Jane Doe ______________________________________________________/_____/_____ John Doe