Lo que preguntaré seguramente es tonto pero me gusta entender bien las cosas y con Perl hace mucho había hecho una tarea para mis estudios pero pasó tanto el tiempo que ya perdí la mano....
Y esta es una de las cosas que no me acuerdo mucho
Se dice que Perl es greedy porque es "glotón": toma todo lo que puede.
Por ejemplo:
Using perl Syntax Highlighting
Esto imprime: abc11a2111111a.
Pero si tengo esto otro:
Using perl Syntax Highlighting
Imprime: a.
Esto es por que como adelante el 1 tiene * puede ser 0 o muchos unos y toma la tira vacía para el 1 y se queda con la 'a', es decir, simplemente ignora los unos.
¿No tendría que tomar todos los unos que están antes de la a? ya que al ser greedy toma todo lo que puede pero se ve que entendí mal yo algo X)
Ahora bien si pongo esto:
Using perl Syntax Highlighting
la salida es: 111111a.
¿Por qué en este caso no hace como lo anterior?, es decir se queda con la "a" que finaliza el string y los "111111" no los toma por que toma la tira vacía.
¿Que diferencia hay entre el caso 2 y el 3? Si bien le pongo $ para indicar que tome la parte final pudiera hacer con los unos como en el ejemplo 2 y simplemente ignorarlos.
¿Y por qué con el punto se comporta 100% greedy y no así con el ejemplo 2?
En fin, perdonen tanta pregunta pero me gusta mucho estudiar Perl y sacarle provecho.
Saludos