fork download
  1. #!/usr/bin/perl
  2. use strict;
  3. use List::Util qw(reduce min);
  4.  
  5. sub preamble {
  6. return reduce {
  7. my $len = min(length $a, length $b);
  8. my ($current_prefix, $string) = (substr($a, 0, $len), substr($b, 0, $len));
  9.  
  10. while($current_prefix ne $string) {
  11. chop $current_prefix;
  12. chop $string;
  13. }
  14.  
  15. return $current_prefix;
  16. } split /\n/, join '', @_;
  17. }
  18.  
  19. my $res = preamble(<<COMMENT);
  20. /** JavaDoc Comment
  21. * Makes things go
  22. */
  23. COMMENT
  24.  
  25. print $res eq "\t" ? "true" : "false", "\n";
  26.  
  27. $res = preamble(<<QUOTE);
  28. > Hello
  29. > There
  30. QUOTE
  31.  
  32. print $res eq "> " ? "true" : "false", "\n";
  33.  
Success #stdin #stdout 0s 3720KB
stdin
Standard input is empty
stdout
true
true