#!/usr/bin/perl
my $multiLineInput = <<'__END__';
Hi There
FirstName-LastName 8 7/17/2015 1:15 PM
Testing - 12323232323 Hello There
__END__
my $singleLineInput = 'Hi There FirstName.LastName 10 3/23/2011 2:46 PM';
my ($chat,$username,$chars,$timestamp) = $singleLineInput =~ m/(?im)\s*((?:\w+\W+)+)(\w+[-,\.]\w+)\W+(\d+)\W+([0-1]?\d\/[0-3]?\d\/[1-2]\d{3}\s+[0-2]?\d:[0-5]?\d\s?[ap]m)/;
$chat =~ s/\s+$//;
print "(Single) chat -> ${chat}\n"; print "(Single) username -> ${username}\n"; print "(Single) chars -> ${chars}\n"; print "(Single) timestamp -> ${timestamp}\n";
($chat,$username,$chars,$timestamp) = $multiLineInput =~ m/(?im)\s*((?:\w+\W+)+)(\w+[-,\.]\w+)\W+(\d+)\W+([0-1]?\d\/[0-3]?\d\/[1-2]\d{3}\s+[0-2]?\d:[0-5]?\d\s?[ap]m)/;
$chat =~ s/\s+$//;
print "(Multi) chat -> ${chat}\n"; print "(Multi) username -> ${username}\n"; print "(Multi) chars -> ${chars}\n"; print "(Multi) timestamp -> ${timestamp}\n";
IyEvdXNyL2Jpbi9wZXJsCgpteSAkbXVsdGlMaW5lSW5wdXQgPSA8PCdfX0VORF9fJzsKSGkgVGhlcmUgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgRmlyc3ROYW1lLUxhc3ROYW1lICAgICAgIDggICAgICAgNy8xNy8yMDE1IDE6MTUgUE0gCgpUZXN0aW5nIC0gMTIzMjMyMzIzMjMgSGVsbG8gVGhlcmUKX19FTkRfXwoKbXkgJHNpbmdsZUxpbmVJbnB1dCA9ICdIaSBUaGVyZSBGaXJzdE5hbWUuTGFzdE5hbWUgMTAgMy8yMy8yMDExIDI6NDYgUE0nOwoKbXkgKCRjaGF0LCR1c2VybmFtZSwkY2hhcnMsJHRpbWVzdGFtcCkgPSAkc2luZ2xlTGluZUlucHV0ID1+IG0vKD9pbSlccyooKD86XHcrXFcrKSspKFx3K1stLFwuXVx3KylcVysoXGQrKVxXKyhbMC0xXT9cZFwvWzAtM10/XGRcL1sxLTJdXGR7M31ccytbMC0yXT9cZDpbMC01XT9cZFxzP1thcF1tKS87CiRjaGF0ID1+IHMvXHMrJC8vOwpwcmludCAiKFNpbmdsZSkgY2hhdCAgICAgIC0+ICR7Y2hhdH1cbiI7CnByaW50ICIoU2luZ2xlKSB1c2VybmFtZSAgLT4gJHt1c2VybmFtZX1cbiI7CnByaW50ICIoU2luZ2xlKSBjaGFycyAgICAgLT4gJHtjaGFyc31cbiI7CnByaW50ICIoU2luZ2xlKSB0aW1lc3RhbXAgLT4gJHt0aW1lc3RhbXB9XG4iOwoKKCRjaGF0LCR1c2VybmFtZSwkY2hhcnMsJHRpbWVzdGFtcCkgPSAkbXVsdGlMaW5lSW5wdXQgPX4gbS8oP2ltKVxzKigoPzpcdytcVyspKykoXHcrWy0sXC5dXHcrKVxXKyhcZCspXFcrKFswLTFdP1xkXC9bMC0zXT9cZFwvWzEtMl1cZHszfVxzK1swLTJdP1xkOlswLTVdP1xkXHM/W2FwXW0pLzsKJGNoYXQgPX4gcy9ccyskLy87CnByaW50ICIoTXVsdGkpIGNoYXQgICAgICAtPiAke2NoYXR9XG4iOwpwcmludCAiKE11bHRpKSB1c2VybmFtZSAgLT4gJHt1c2VybmFtZX1cbiI7CnByaW50ICIoTXVsdGkpIGNoYXJzICAgICAtPiAke2NoYXJzfVxuIjsKcHJpbnQgIihNdWx0aSkgdGltZXN0YW1wIC0+ICR7dGltZXN0YW1wfVxuIjsK