online - ¿Cuáles son las soluciones comunes para los comentarios de varias líneas en Perl?
perl variables (12)
Este RFC menciona
A diferencia de muchos lenguajes de programación, Perl no implementa actualmente comentarios verdaderos de líneas múltiples. Esto y las soluciones que son de uso común pueden ser problemáticas. Esto podría resolverse agregando una nueva sintaxis para permitir que los comentarios abarquen más de una línea, como la variación aquí: documentación citada a continuación.
¿Cuáles son las soluciones comunes ?
Dos técnicas que encontré here son
if (0) {
<comment>
}
y
=pod
<comment>
=cut
¿Son seguros de usar? ¿Hay otros que funcionan mejor?
¡Otra forma más útil!
=begin GHOSTCODE
whatever you want to uncomment
=end GHOSTCODE
=cut
Además de
=begin comment
multi-paragraph comments here
=end comment
=cut
formar en otras respuestas, también puede hacer esto:
=for comment
this is a single pod paragraph comment do
not put extra blank lines after =for. the
comment ends after the first blank line and
regular pod continues until =cut
Hello! C<Yay!>
=cut
el párrafo de comentarios no aparecerá en la salida del pod, pero el Hola "¡Sí!" será.
Algo así como funciona también:
q{
my comment
};
Esta es una expresión que creo que se evaluó mientras ejecutaba Perl.
Aunque no es estándar, solo uso
=ignore
sub blah { ... }
my $commented_out_var = 3.14;
=cut
Funciona igual de bien y me recuerda que no es POD.
- Aparte: es una cosa interesante que POD nos da un marco flexible para incluir varias regiones que no deberían considerarse como código, especificando lo que significa esa región. Claramente, "comentamos cosas" porque los comentarios funcionan de esta manera. Sin embargo, del término se desprende claramente que los comentarios deben ser palabras, no instrucciones; documentación no alteraciones
Esta no es una forma sintáctica de Perl para hacerlo, pero en la mayoría de los editores (como Notepad ++) puede resaltar el código que desea comentar, y luego presionar CTRL + K. Para eliminar los comentarios, puede resaltarlos y presionar CTRL + Shift + K.
Esto también funciona:
q^
This is another way to
add multi-line comments
to your code
^ if 0;
La desventaja de la solución "si" es que el código comentado todavía tiene que compilarse (y, por lo tanto, aún tiene que verificarse la sintaxis).
La desventaja de su solución de pod es que sus comentarios aparecerán en cualquier documentación generada desde el pod.
Utilizo una versión de la solución de pod que no tiene ese problema. Soporte de Pod = formato de inicio ... = párrafos de formato final manejados por formateadores específicos. Solo invento un formato de "comentario" que no maneja ninguno de los formateadores que uso.
=begin comment
This is ignored by everything
=end comment
Actualizar:
Me perdí una parte importante de mi ejemplo. Debe finalizar la sección de vaina con = corte. Aquí hay un ejemplo completo.
#!/usr/bin/perl
print "This line is executed/n";
=begin comment
print "This line isn''t/n";
=end comment
=cut
print "This line is/n";
La documentación de Perl le dice cómo hacerlo en perlfaq7 . Es bastante seguro, y como podemos hacerlo con Pod, no necesitamos sintaxis adicional para hacerlo:
¿Cómo puedo comentar un gran bloque de código perl?
Puede usar POD incorporado para descartarlo. Adjunte los bloques que desea comentar en los marcadores POD. La directiva =begin
marca una sección para un formateador específico. Use el formato de "comentario", que ningún formateador debe pretender comprender (por política). Marque el final del bloque con =end
.
# program is here
=begin comment
all of this stuff
here will be ignored
by everyone
=end comment
=cut
# program continues
Las directivas de pod no pueden ir a ninguna parte. Debe colocar una directiva de pod donde el analizador está esperando una nueva instrucción, no solo en el medio de una expresión o alguna otra producción de gramática arbitraria.
Ver perlpod para más detalles.
Mi dispositivo favorito de comentarios de varias líneas es __END__
.
print "Hello world/n";
__END__
The script has ended. Perl does not treat this part of the file as code.
I can put whatever I want down here. Very handy.
Un caso de uso especial es comentar varias líneas de código. Pero si usa un sistema de control de versiones, puede simplemente eliminar el código no deseado en lugar de comentarlo, y si alguna vez lo necesita, simplemente busque la revisión anterior.
Un editor con una función de "Región de comentarios".
Por ejemplo, Komodo Edit. Estoy bastante seguro de que Eclipse y JEdit también lo hacen, pero no los tengo a mano para verificar.
La característica generalmente inserta un símbolo de "Comentar esta línea" al comienzo de cada línea en la región seleccionada. Tiene el beneficio de no entrar en conflicto con los comentarios existentes (que es un riesgo si envuelve un área que contiene un comentario de varias líneas en la mayoría de los idiomas)
Yo uso eso y funciona para mí
=head
"your code to comment
monkey
banana"
=cut