Se tienen que dar las siguientes condiciones (de memoria):
- El script debe tener permiso de escritura sobre los ficheros o sobre el directorio donde están los ficheros
- Si el directorio => de trabajo <= del script es el mismo que el de los ficheros, no es necesario incluir ningún camino en el unlink()
- En ocasiones hay que 'escapar' los nombres de los ficheros, por exigencias del sistema operativo
Haz la siguiente prueba: entra en el directorio donde están los ficheros y el
script y ejecuta:
perl -le 'print unlink fichero.txt'siendo fichero.txt alguno de los ficheros que quieres borrar. Si no puede borrarlo el unlink(), saldrá un 0.
Si sale un 1 es que desde Perl sí se puede borrar los ficheros, así que el problema está en el
script.
Si no se puede borrar, inténtalo ejecutando un
rm o
del desde el sistema y mira a ver si el sistema operativo te devuelve un error.
¿Quién ejecuta el
script? ¿Tu o un dæmon como el
httpd a través de un cgi, o quizás un crontab? Según el que sea, dependerá de si puede borrarlos según los permisos que tengan los ficheros...