enric73 escribiste:¿Cómo lo hacías para que el cambio de nombre también quede modificado realmente? La modificación aparece en pantalla pero en el directorio, el fichero mantiene el mismo nombre.
Bueno, guardaría el nombre original en la variable $original, modificaría el nombre en $nuevo, y finalmente hago un
renameenric73 escribiste:¿Lo harías así?
Using perl Syntax Highlighting
(my $newName = $grib) =~ s/:00:00//;
rename $grib, $newName;
(my $newName2 = $grib) =~ s/:00:00.grb//;
rename $grib, $newName2;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
No puedes
renombrar el mismo archivo dos veces. El segundo rename() sacará un mensaje de error diciendo que el archivo $grib ya no existe (fue renombrado un par de líneas antes).
enric73 escribiste:Realmente necesito renombrarlo de dos maneras.
En el caso de utilizar
sustr($nombre_archivo, -10, 6) = ""; ¿Sería así?
Using perl Syntax Highlighting
(my $newName = $grib) =~ substr($grib, -10, 6) = "";
rename $grib, $newName;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
No sé qué significa eso de renombrarlo dos veces. ¿Quieres decir que hay que hacer dos modificaciones en el nombre del archivo antes de hacer el cambio de nombre del archivo en el disco?
Quizás con un ejemplo completo lo tendríamos más claro. Solicitaste una eliminación de unos caracteres, y eso es lo que hace el substr(). Ahora bien, aquí hay que saber jugar al ajedrez. Si necesitas el nombre original para poder hacer un rename(), guárdalo
antes en otra variable. Sabiendo que el proceso substr() es destructivo, mantén una copia, y así luego ya puedes hacer el rename() con los nombres anterior y nuevo.