Mie Dic 05, 2007 2:44 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 474
Ubicación: Frente al monitor
|
|
| ¿Cómo hacer un return $!? |
|
|
Cuando usas open perl retorna el error (si hay uno) con $! (o con $^E).
Yo quiero hacer algo similar:
| Perl: | package MyModulo;
use strict;
sub funcion {
my ( $a, $b ) = @_;
if ( $a ne "algo" ) {
return ERROR ? #no se que poner aquí
}
else { ... }
}
1; |
y el cliente:
| Perl: | use MyModulo;
my $algo = MyModulo-> funcion(1, "a") or die "$!\n"; |
perlvar no me ha dicho mucho... al parecer $! y $^E sólo lo usa el interprete (Carp usa warn o die ).
Cualquier respuesta es útil.
¡Gracias! |
|
|
|
Mie Dic 05, 2007 7:16 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 474
Ubicación: Frente al monitor
|
|
|
|
|
Bueno, buscar un poco más no me ha hecho daño
Según este post (en inglés) no se puede hacer lo que yo quiero. |
|
Jue Dic 06, 2007 7:21 am
|
 |
Norther
Perlero Frecuente

|
Registrado: 24 Jul 2007
Mensajes: 117
Ubicación: Asturias
|
|
|
|
|
Tus dudas dan gusto por que sueles ser el primero en contestártelas  |
|
Jue Dic 06, 2007 8:59 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4035
Ubicación: Valladolid, España
|
|
|
|
|
| Puedes hacer que la función siga devolviendo un valor falso, para disparar al die(), pero en lugar de usar $!, usar tu propia variable de error global que habrás definido dentro de tu método. Por ejemplo, $MyModulo::ERROR. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|