Pergunta : Exportando variáveis do módulo em janelas

O código que eu afixei trabalhará no linux.  Mas quando eu tento o funcionar em Windows, eu começ o seguinte erro: o símbolo “%hash” do

Global exige o nome explícito do pacote na linha 6.
Execution de H:\test.pl de abortado H:\test.pl devido à compilação errors.

I declarou %hash em test.pm com o “nosso”.  Eu tenho %hash na disposição do @EXPORT.  Por que eu começ este erro quando o exato o mesmo código trabalha no linux? class= " lineNumbers " >
1 do >

: 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 do ># do " prettyprint " " do class= do id= " codeSnippet795426 do >
 " desobstruído " de 
class= do

Resposta : Exportando variáveis do módulo em janelas

Eu encontrei que o problema… me tomou por algum tempo…
Apenas aconteceu que há já um módulo chamado test.pm sob C: /Perl/lib/test.pm e esse módulo tomam a precedência sobre seu módulo.
Estão aqui as escolhas:
   * usar do “o liberal uso” para que o Perl da força use seu test.pm (qw do liberal do uso (/your/dir);)
   * ou melhorar, usar um outro nome para o módulo, tal como MyTest.pm (o exemplo abaixo)

BTW, você deve somente exportar quando necessário.
Se não using algo gostar de %MyTest:: a mistura é provavelmente uma maneira (mais explícita) melhor de ir.

Boa sorte!
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

usar estrito;
usar MyTest;

imprimir “$_ \ n” para as chaves %hash;





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

usar estrito;
usar o qw baixo (exportador);

nossos @EXPORT = qw (%hash);

nosso %hash = (=> “valor” do Tag);

1; # isto é exigido.  Não suprimir desta linha!




>perl ee1.pl de C:\home\jerome
Tag
Outras soluções  
 
programming4us programming4us