* Cuando se ejecuta una tarea por parte de un daemon, debemos tener la precaución de que nuestro programa sabe el directorio de trabajo en que está, porque la mayor parte de los daemon ejecutarán los programas en un determinado directorio de trabajo (uno del sistema, el temporal, o algo peor). Que tu no veas la salida no significa que no la haya creado, sino que quizás lo ha hecho en un directorio muy distinto al que ves. Para solucionar esto, lo normal es colocar un chdir('path completo'); al principio del programa. Así estaremos seguros de que las operaciones con ficheros se realizan en el directorio correcto y no en el que el daemon le de la gana (que quizás sea tampoco donde reside el ejecutable. Lo normal en Windows podría ser el directorio home del usuario).
* Si después de lo anterior sigue sin funcionar, es posible que Tareas Programadas no sepa qué hacer con un script Perl. Si has instalado una distribución como la de ActiveState, se habrá registrado en el sistema que los ficheros con extensión .pl deben ser ejecutados por el binario C:\Perl\bin\perl.exe, por lo que podremos ejecutarlos directamente en línea de comandos y otros lugares, quizás también en Tareas Programadas. Si has utilizado otra distribución que no haya hecho ese registro, puedes configurar Windows con ese comportamiento (en las opciones de carpeta, creo recordar). Y si aún así no funciona, siempre queda la opción de que le digas a Tareas Programadas que el binario a ejecutar sea el C:\Perl\bin\perl.exe (o donde esté el intérprete perl de Perl) poniendo a continuación el nombre del fichero Perl que quieres ejecutar. Por ejemplo:
- Código: Seleccionar todo
C:\Perl\bin\perl.exe C:\Desarrollo\Proyecto\Tiempos\Cron\programa_1.pl
Cuidado con los espacios en blanco en los path... si los hay, entrecomilla el argumento.
Buscando por Google, me sale esta referencia:
http://www.randomtree.org/eric/techblog ... tizen.htmlen la que muestra que es incluso aún más sencillo, porque en los últimos Windows ya se puede indicar el directorio de trabajo, con lo que queda reducido a:
- Código: Seleccionar todo
perl programa_1.pl