fork download
  1. $/ = undef;
  2. $_ = <main::DATA>;
  3.  
  4. @m = (m/[\s\S]*?(?:^|\n)(?=(.*?)(.)(.*?)(?:\n|$)(?:[\s\S]*?\n|)(\1.\3)(?:\n|$))/g);
  5. @p = ();
  6. while ($#m > 0) {
  7. ($a, $b, $c, $d) = (shift(@m), shift(@m), shift(@m), shift(@m));
  8. push(@p, ("$a$b$c", $d));
  9. }
  10. @p = keys %{{map{$_ => 1} @p}};
  11. print "$_\n" for (@p);
  12. __DATA__
  13. \folder_0
  14. \folderMY
  15. \folder-0
  16. \folder-1
  17. \folder'2
  18. \folder1A
  19. \folder-3
  20. \folder_3
  21. \folder'3
  22. \folder,3
  23. \folder,4
Success #stdin #stdout 0s 4552KB
stdin
Standard input is empty
stdout
\folder-0
\folder,4
\folder_0
\folder-3
\folder_3
\folder'2
\folder-1
\folder'3
\folder,3