Pregunta
¿Alguien puede explicarme sobre carp
¿Subrutina con el código de PERL de muestra?
Solución
Ver el perldoc
para carpa.
carp
es una alternativa para Perl's warn
función que utiliza información de rastreo de pila para mostrar dónde llamó una función que emitió una advertencia. Esto puede ser más útil que warn
El comportamiento de decirle dónde ocurrió la advertencia.
Un ejemplo:
Este programa:
1: sub square_root {
2: my $arg = shift;
3: if ($arg < 0) {
4: warn "Can't take square root of a negative number";
5: } else {
6: return sqrt($arg);
7: }
8: }
9: print square_root(-4);
Te dijo:
Can't take square root of a negative number at carpdemo.pl line 4.
Pero si cambiamos warn
a carp
:
1: use Carp;
2: sub square_root {
3: my $arg = shift;
4: if ($arg < 0) {
5: carp "Can't take square root of a negative number";
6: } else {
7: return sqrt($arg);
8: }
9: }
10: print square_root(-4);
te dice:
Can't take square root of a negative number at carpdemo.pl line 4
main::square_root(-4) called at carpdemo.pl line 10
La línea adicional de información es útil para rastrear lugares donde podría estar utilizando una función o módulo incorrectamente.
Otros consejos
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow