fork download
  1. #!/usr/bin/perl
  2.  
  3. my $multiLineInput = <<'__END__';
  4. Hi There
  5.  
  6. FirstName-LastName 8 7/17/2015 1:15 PM
  7.  
  8. Testing - 12323232323 Hello There
  9. __END__
  10.  
  11. my $singleLineInput = 'Hi There FirstName.LastName 10 3/23/2011 2:46 PM';
  12.  
  13. 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)/;
  14. $chat =~ s/\s+$//;
  15. print "(Single) chat -> ${chat}\n";
  16. print "(Single) username -> ${username}\n";
  17. print "(Single) chars -> ${chars}\n";
  18. print "(Single) timestamp -> ${timestamp}\n";
  19.  
  20. ($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)/;
  21. $chat =~ s/\s+$//;
  22. print "(Multi) chat -> ${chat}\n";
  23. print "(Multi) username -> ${username}\n";
  24. print "(Multi) chars -> ${chars}\n";
  25. print "(Multi) timestamp -> ${timestamp}\n";
  26.  
Success #stdin #stdout 0s 6000KB
stdin
Standard input is empty
stdout
(Single) chat      -> Hi There
(Single) username  -> FirstName.LastName
(Single) chars     -> 10
(Single) timestamp -> 3/23/2011 2:46 PM
(Multi) chat      -> Hi There
(Multi) username  -> FirstName-LastName
(Multi) chars     -> 8
(Multi) timestamp -> 7/17/2015 1:15 PM