Hola Anna,
Son formas diferentes de hablar, incluso entre paises de latinoamerica las expresiones pueden variar, y entre las regiones de España también.
Respondiendo a tu duda, la diferencia recae en el contexto temporal, pero igualmente es claro lo que se quiere decir. Entonces, "¿Has hablado con ella?" y "¿Hablaste con ella?" significan lo mismo y cualquier hablante entenderá lo que quieres decir.
Tanto en España como en América se usan ambos tiempos, sólo que las condiciones de uso son diferentes. Pero en sentido estricto, el pretérito perfecto no solo por una cosa que acabó de pasar recientemente, sino cuando eso sucedió dentro de una unidad temporal que se expresa y en la que nos encontramos todavía.
Te dejo un ejemplo:
- este mes ha llovido tres veces.
- el mes pasado llovió tres veces.
En el primer ejemplo puede o no ser una cosa reciente que acaba de pasar; pero está dentro del intervalo de tiempo que se está expresando y en el que se considera que estamos ("este mes"). En el segundo ejemplo, como no estamos en el mes pasado, se emplea el pretérito indefinido.
La verdad no conozco ningún libro que explique estas diferencias. Entonces, recomendaria que leyeras libros escritos por latinos, series latinas, canales de youtube de latinoamericanos, para comprender mejor las diferencias.