Scusa eh, ma che pretendi? Se in $keys[$x] ci sono caratteri che per la regular expression hanno un senso, salta tutto. Perchè, se ci mette un punto che succede? o se ci mette un punto interrogativo? devi fare l'escape dei caratteri "pericolosi" (li fai precedere da \). quindi punti, parentesi tonde, quadre, punti interrogativi, e chi più ne ha più ne metta http://www.fon.hum.uva.nl/praat/manu...haracters.html