http://www.perlmonks.org?node_id=795723


in reply to Collapsing a list of files...

Hmm, first try, Regex::PreSuf
#!/usr/bin/perl -- use Regex::PreSuf; print presuf(qw[ abcpwbln08 abcpwbln07 abcpwbnn10 abcpwbnn06 adesicln09 adesicln08 adesicln01 adesicnn05 ]); __END__ a(?:bcpwb(?:ln0[78]|nn(?:06|10))|desic(?:ln0[189]|nn05))
2nd try Regexp::Assemble
#!/usr/bin/perl -- use strict; use warnings; use Regexp::Assemble; my $ra = Regexp::Assemble->new; $ra->add( quotemeta $_) for qw[ abcpwbln08 abcpwbln07 abcpwbnn10 abcpwbnn06 adesicln09 adesicln08 adesicln01 adesicnn05 ]; print $ra->re; __END__ (?-xism:a(?:bcpwb(?:nn(?:06|10)|ln0[78])|desic(?:ln0[189]|nn05)))
3rd try Regexp::Assemble OR Regex::PreSuf site:perlmonks.org

4th maybe String::Glob::Permute