variable online emulador perl comments

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