Son únicas, no pueden repetirse en el archivo "a". Y pueden no encontrarse en "b" (que es el NO MATCH), y si lo hacen solo deben de estar una vez en el archivo "b" (MATCH).
A ver... yo no he preguntado si "pueden" o "deben"
He preguntado si *realmente* están una sola vez en "a" o en "b". Lo digo porque tengo una idea para acelerar las búsquedas, y si resulta que en "a" o en "b" puede haber más de una coincidencia o más de una clave igual, pues no funcionará.
¿Probaste lo del index()?
JF^DPerl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
¡¡¡Mmmh, wow,interesante!! la velocidad de Perl, realmente se nota aquí.
real 0m29.455s user 0m26.526s sys 0m1.232s
La clave es: ¡¡sí usar el hash!!!, ¡¡tal como dice la teoría!!
Entonces, se estaba demorando porque, tardaba en encontrar la clave en la cadena de mayor longitud. Ahora que la clave y la cadena son de la misma longitud... ¡¡zaz!!!.. ¡¡velocidad luz!!
Nota: No había notado, el poder de la función "substr", hasta ahora. ¡Gracias, explorer!
Pues el caso es que aún se puede acelerar un poco más...
Si en el archivo "b", todas las líneas tienen la misma longitud, no necesitamos el split() de la línea 11, y con el substr() de la línea siguiente sería suficiente: