Cuestión : Exportación de variables del módulo en ventanas

El código que he fijado trabajará en linux.  Pero cuando intento funcionarlo en Windows, consigo el error siguiente: el símbolo “%hash” del

Global requiere nombre explícito del paquete en la línea 6.
Execution de H:\test.pl de abortada H:\test.pl debido a la compilación errors.

I ha declarado %hash en test.pm con “nuestro”.  Tengo %hash en el arsenal del @EXPORT.  ¿Por qué conseguiría este error cuando el exacto el mismo código trabaja en linux? class= " lineNumbers " >
1 del >

: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: MÓDULO codeBody del ># del " prettyprint " del class= del id= " codeSnippet795426 " del >
 " claro " de 
class= del

Respuesta : Exportación de variables del módulo en ventanas

He encontrado que el problema… me tomó un rato…
Acaba de suceder que hay ya un módulo llamado test.pm debajo de C: /Perl/lib/test.pm y ese módulo toma precedencia sobre su módulo.
Aquí están las opciones:
   * utilizar la “liberación del uso” para que el Perl de la fuerza utilice su test.pm (qw de la liberación del uso (/your/dir);)
   * o mejorar, utilizar otro nombre para el módulo, tal como MyTest.pm (el ejemplo abajo)

BTW, usted debe exportar solamente cuando está necesitado.
Si no usar algo tener gusto de %MyTest:: el picadillo es probablemente una mejor manera (más explícita) de ir.

¡Buena suerte!
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
>type ee1.pl de C:\home\jerome
¡#! Perl

utilizar terminante;
utilizar MyTest;

imprimir “$_ \ n” para las llaves %hash;





>type MyTest.pm de C:\home\jerome
paquete MyTest;

utilizar terminante;
utilizar el qw bajo (exportador);

nuestro @EXPORT = qw (%hash);

nuestro %hash = (=> “valor” de la etiqueta);

1; # se requiere esto.  ¡No suprimir esta línea!




>perl ee1.pl de C:\home\jerome
etiqueta
Otras soluciones  
 
programming4us programming4us