sub editDistance{ my($str1, $str2, $len1, $len2) = @_; if ($len1 ==0){ return $len2; } if ($len2 ==0){ return $len1; } if(substr($str1, -1) eq substr($str2,-1)){ return editDistance($str1,$str2,$len1-1,$len2-1); } my @distance = (); push @distance, editDistance($str1, $str2, $len1, $len2-1); #insert push @distance, editDistance($str1, $str2, $len1-1, $len2); #remove push @distance, editDistance($str1, $str2, $len1-1, $len2-1); #replace my $min = min @distance; return 1 + $min; } my $str1 ="Sundayyyy"; my $str2 = "Saturday"; print editDistance($str1, $str2, length($str1), length($str2))