2011-02-10 15 views
5

Parece haber several things that were valid in Embperl 1.x that are no longer supported in Embperl 2.x. Como ejemplo:¿Existe alguna manera automática de descubrir la sintaxis de Embperl 1.x que no es compatible con Embperl 2.x?

[+ +] ahora los bloques deben contener una expresión de Perl válida. Embperl 1.x le permite colocar múltiples instrucciones en dicho bloque. Para el rendimiento razones esto ya no es posible.

Teniendo en cuenta una base de código Embperl 1.x muy grande, ¿hay una forma automática de escanear los archivos .epl y descubrir las incompatibilidades? No me importa la implementación, cualquier cosa, desde alguna bandera especial en Embperl 2.0 hasta algún plugin para Perl :: Critic está bien.

Mientras que no es Marcos 1 globo ocular o "cambiar a Embperl2 y ver lo rompe" :)

+0

Maldita sea. Iba a responder "cambiar a Embperl2 y ver qué se rompe". :-) Es la misma filosofía que "agregar' use strict' y ver qué se rompe ", ¿no es así? – CanSpice

+0

No del todo. Este último se rompe en la compilación y, por lo tanto, puede ser reparado y probado automáticamente. El primero rompe el uso en ciertas rutas de código en aplicaciones web, y posiblemente no fatalmente. – DVK

+0

Puede configurar un "metainterpetador". Llame a eval en cada línea del código de Embperl, copie el estado, y si la instrucción es barfs, inicie sesión en Croak o confiese ... –

Respuesta

2

Esta charla foro parece ser justo lo que necesita Migrating from embperl 1.3 to Embperl 2

presenta la secuencia de comandos no reclama no sólo para detectar las incompatibilidades, pero también corregirlas.

Cuestiones relacionadas