Fråga : Exportera variabler från enheten på fönster

Kodifiera har jag postat ska arbete på linux.  Men när I-försök att köra det på Windows, jag får efter felet: symbolet ”%hash” för

Global kräver explicit paketerar känt på H:\test.pl fodrar 6.
Execution av H:\test.pl aborterad tack vare sammanställning errors.

I har förklarat %hash i test.pm med ”vårt”.  Jag har %hash i @EXPORTsamlingen.  Why skulle jag får detta fel, när avkräva samma kodifierar arbeten på linux? för
class= " lineNumbers " >
1 för >
# " för prettyprint " för class= för id= " codeSnippet795426 " för >
" klar "

Svar : Exportera variabler från enheten på fönster

Jag har funnit problemet… tog mig awhile…,
Det händde precis att det finns redan en enhet som kallas test.pm under C: /Perl/lib/test.pm och den enhet tar prioritet över din enhet.
Är här valen:
   * använd ”bruksliben” för att styrkaPerl ska använda din test.pm (brukslibqw (/your/dir);)
   * eller förbättra, använd ett annat känt för enhet, liksom MyTest.pm (det nedanföra exemplet)

BTW du bör endast exportera, när du behövs.
Annorlunda using något något liknande %MyTest:: pölsa är antagligen ett bättre (mer explicit) långt som går.

Bra lycka!
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:
C:\home\jerome >type ee1.pl
nr.! perl

använd strikt;
använd MyTest;

skriv ut ”$_ \ n” för stämm %hash;





C:\home\jerome >type MyTest.pm
paketera MyTest;

använd strikt;
bruk baserar qw (exportör);

vår @EXPORT = qw (%hash);

vårt %hash = (märka => ”värderar”);

1; Nr. detta krävs.  Ta inte bort detta fodrar!




C:\home\jerome >perl ee1.pl
märka
Andra lösningar  
 
programming4us programming4us