in reply to Is there any API available in perl to find longest common substring from two strings

I don't think you need the longest common substring, but the longest common tail of dirs.

here some code, it basically starts from the end and stops as soon as not all dirs are identical.

(can be done far more elegantly but lost interest ;-)

HTH, TIMTOWTDI!

use strict; use warnings; use Data::Dump qw(pp); my @paths = map { [ split '/' ] } qw[ /home/instance/domains/abcd/xyz/1.txt /a1234/domains/abcd/xyz/1.txt /a1234/topfolder/instance/domains/abcd/xyz/1.txt ]; #pp @paths; my $a_norm = shift @paths; my @result; dir_loop: for my $idx ( 1 .. @$a_norm ) { for my $a_path (@paths){ last dir_loop if $a_norm->[-$idx] ne $a_path->[-$idx]; } unshift @result,$a_norm->[-$idx] } pp @result;

output:

("domains", "abcd", "xyz", "1.txt")

Cheers Rolf

  • Comment on Re: Is there any API available in perl to find longest common substring from two strings
  • Select or Download Code

Replies are listed 'Best First'.
Re^2: Is there any API available in perl to find longest common substring from two strings
by Anonymous Monk on Jan 04, 2013 at 00:09 UTC
    Could you please elaborate how this work?
      Could you please elaborate which part is unclear ?