#!/usr/local/bin/perl -w

$n1 = $ARGV[0] || "0-23-1-45-200-54";
$n2 = $ARGV[1] || "0-23-3-20-100";

$d1++ while ( $n1 =~ /-/g );
$d2++ while ( $n2 =~ /-/g );
$dmax = $d1+$d2;
print "La distancia máxima es $dmax\n";

$n1 =~ s/^0-//;
$n2 =~ s/^0-//; 

while (1){
    $n1 =~ s/(\d+)-(.*)/$2/;
    $nodo1 = $1;
    $n2 =~ s/(\d+)-(.*)/$2/;
    $nodo2 = $1;
    if ($nodo1 eq $nodo2){
	$dmax-=2;
	if ($dmax<=0) { last; }
    }else{
	last;
    }
}
$d = $dmax;
print "La distancia final es $d\n";


__END__

Sea un árbol definido por un nodo común o raíz.
Determinar la distancia entre dos nodos de la red.

Nota: Los nodos vienen definidos por su ruta hasta
el raíz y números de ramas.

Ej: 0-23-1-45-200-54 y 0-23-3-20-100

