• Publicidad

¿Cómo hacer un return $!?

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

¿Cómo hacer un return $!?

Notapor creating021 » 2007-12-05 15:44 @697

Cuando usas open perl retorna el error (si hay uno) con $! (o con $^E).

Yo quiero hacer algo similar:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
package MyModulo;
use strict;

sub funcion {
    my ( $a, $b ) = @_;
    if ( $a ne "algo" ) {
        return ERROR ? #no se que poner aquí
    }
    else { ... }
}

1;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


y el cliente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use MyModulo;
my $algo = MyModulo->funcion(1, "a") or die "$!\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


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!
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Publicidad

Notapor creating021 » 2007-12-05 20:16 @886

Bueno, buscar un poco más no me ha hecho daño :P
Según este post (en inglés) no se puede hacer lo que yo quiero.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Norther » 2007-12-06 08:21 @390

Tus dudas dan gusto por que sueles ser el primero en contestártelas :D
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias

Notapor explorer » 2007-12-06 09:59 @457

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados