Vraag : Het uitvoeren variabelen van module op vensters

De code die ik zal werken aan linux heb gepost.  Maar wanneer ik probeer om het op Vensters in werking te stellen, krijg ik de volgende fout:

Global het symbool „%hash“ vereist de expliciete pakketnaam bij H:\test.pl lijn 6.
Execution van geaborteerd H:\test.pl wegens compilatie errors.

I %hash in test.pm met „ons“ heeft verklaard.  Ik heb %hash in de @EXPORTserie.  Waarom zou ik deze fout krijgen wanneer de nauwkeurige zelfde code aan linux werkt?

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:
#
pakket test

strikt gebruik;
gebruik vars qw (@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);

gebruiks Exporteur;
$VERSION = 1.00;
@ISA = qw (Exporteur);

@EXPORT = qw (%hash);  # Symbolen aan autoexport
@EXPORT_OK = qw (); # Symbolen door verzoek uit te voeren
%EXPORT_TAGS = (); # Bepaal namen voor reeksen symbolen

onze %hash;
$hash {markering} = waarde;

1; # Wordt dit vereist.  Schrap deze lijn niet!

# MANUSCRIPT
#! perl

strikt gebruik;
gebruiks test;

druk „$_ \ n“ voor sleutels %hash;

Antwoord : Het uitvoeren variabelen van module op vensters

Ik heb gevonden het probleem… me enkele ogenblikken… nam
Het gebeurde enkel dat er reeds een module test.pm onder C wordt genoemd dat is: /Perl/lib/test.pm en die module neemt belangrijkheid over uw module.
Hier zijn de keuzen:
   * gebruik „de gebruiksLib“ voor kracht Perl om uw test.pm (de gebruiksLib qw (/your/dir) te gebruiken;)
   * of beter, gebruik een andere naam voor module, zoals MyTest.pm (voorbeeld hieronder)

BTW, zou u slechts moeten uitvoeren wanneer nodig.
Anders gebruikend iets als %MyTest:: de knoeiboel is waarschijnlijk een betere (explicietere) manier te gaan.

Goed geluk!
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
#! perl

strikt gebruik;
gebruik MyTest;

druk „$_ \ n“ voor sleutels %hash;





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

strikt gebruik;
gebruiks basis qw (Exporteur);

onze @EXPORT = qw (%hash);

ons %hash = (markering => „waarde“);

1; # Wordt dit vereist.  Schrap deze lijn niet!




C:\home\jerome >perl ee1.pl
markering
Andere oplossingen  
 
programming4us programming4us