2011-04-04 12 views
5

¿Perl tiene un operador para salir de una función o un last para funciones?"último" operador para funciones?

sub f { 

    # some code here 

    if ($v == 10) { 
    # goto end of function/exit function/last 
    } 

    # some code here 
} 

Un goto podría hacer el truco, pero las costuras mal de alguna manera?

+0

Como en casi todos los lenguajes de programación, 'return;' saldrá de las funciones –

Respuesta

16

Utilice return; para salir de una subrutina.

0

Bueno, ... es posible utilizar goto a ir hasta el final de la subrutina:

sub f { 

    # some code here 

    if ($v == 10) { 
    goto END; 
    } 

    # some code here 
    END: 
} 

O utilizar last para pasar a la final de la subrutina (si se añade un bloque) :

sub f { 
    END: { 

    # some code here 

    if ($v == 10) { 
     last END; 
    } 

    # some code here 

    } # END 
} 

Lo que realmente desea utilizar es return

sub f { 

    # some code here 

    if ($v == 10) { 
    return; 
    } 

    # some code here 

} 

Si desea saber qué funciones están disponibles, yo pagaría the perlfunc manpage.

Cuestiones relacionadas