if (-e "$ENV{MYHOME}/link") {
system("rm $ENV{MYHOME}/link");
}
Este es el código que se utiliza para verificar si existe un enlace simbólico y eliminarlo si lo hace.Cómo verificar y eliminar un enlace simbólico, si existe, usando Perl?
Estoy siguiendo un error donde este código no funciona. No he podido averiguarlo a partir de ahora, pero lo que está sucediendo es que este código no puede eliminar el enlace simbólico, lo que da como resultado un error 'Archivo existe' en la línea.
¿Quería comprobar si hay alguna falla fundamental con esta técnica? También leí acerca de http://perldoc.perl.org/functions/unlink.html, pero me gustaría saber si el enfoque actual no se recomienda debido a alguna razón.
¿'-l' verifica si el archivo es enlace simbólico o enlace físico? ¿o ambos? – mask8
@ mask8 - '-l' devuelve verdadero si la ruta es un enlace simbólico. Los archivos vinculados duros aparecen como archivos regulares, donde la única diferencia es su recuento de enlaces (el 'st_nlink' de la estadística) es mayor que uno. Los directorios no se pueden enlazar en Linux/Unix. – unpythonic