Así que tengo un archivo que en definitiva tiene este problema ...Cómo manejar subrutina redefinido errores en Perl
#!/usr/bin/perl -w
package Foo;
use strict;
use POSIX;
...
sub remove {
...
}
...
y me da una obtiene un error diciendo la subrutina remove
se ha redefinido. Sé el problema, hay una subrutina llamada remove
en POSIX. Sin embargo, no sé cómo manejarlo. ¿Cómo se resuelve este problema típicamente?
Gracias. Es esto convencional? – floogads
Sí, en general, para evitar definiciones conflictivas de subrutinas es mejor no importar nada o solo aquellas subrutinas de las que está seguro que tendrán nombres únicos. – ennuikiller
@floogads, es más habitual decir 'use POSIX qw (mkfifo modf);' donde enumera explícitamente todas las funciones que desea importar. De esta forma, no tiene que usar el prefijo 'POSIX ::' por todas partes, y no tiene que preocuparse por los conflictos con los nombres de subrutinas en su programa. – cjm