Hola:
Aquí la parte más díficil no es lograr que pongas los datos de manera dinámica, pues eso lo puedes lograr con Perl. La parte más díficil es el Javascirpt para lograrlo.
Sin embargo, ya alguien tiene la solución. La otra vez quería lograr algo similar que tú, el chiste es que se pudiera seleccionar la ciudad, a partir de eso se desplegarán las colonias y finalmente las calles.
Estuve buscando un buen rato hasta que me encontré con una librería que brinda el "Javascript Toolbox":
http://www.javascripttoolbox.com/lib/dynamicoptionlist/Realmente está perfecta la librería, sumamente sencilla de usar y aplicar en distintos casos.
Ahí en el URL que te doy, podrás encontrar el link para descargar la librería, que no es más que un .js pequeño, pero aparte podrás encontrar ejemplos de lo que puedes lograr y su documentación.
Chécalo y has pruebas, si te trabas mucho yo te ayudo, pues ya lo he usado para crear una cosa similar a lo que querías.
Ya que tengas el código funcionando, entonces ya le metemos Perl para que saques las opciones de manera dinámica.
Saludos