Questione : Esportando le variabili dal modulo sulle finestre

Il codice che ho inviato lavorerà al linux.  Ma quando provo a farlo funzionare su Windows, ottengo il seguente errore: il simbolo “%hash„ del

Global richiede il nome esplicito del pacchetto alla linea 6.
Execution di H:\test.pl di abbandonato H:\test.pl dovuto la compilazione errors.

I ha dichiarato %hash in test.pm con “il nostro„.  Ho %hash nell'allineamento del @EXPORT.  Perché otterrei questo errore quando l'esatto lo stesso codice lavora al 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: MODULO codeBody del ># " del prettyprint " " del class= del id= " codeSnippet795426 del >
 " libero " di 
class= del

Risposta : Esportando le variabili dal modulo sulle finestre

Ho trovato che il problema… lo ha preso per un po'…
È accaduto appena che ci fosse già un modulo denominato test.pm sotto la C: /Perl/lib/test.pm e quel modulo prende la precedenza sopra il vostro modulo.
Qui sono le scelte:
   * usare “il movimento di liberazione di uso„ affinchè il Perl della forza usino il vostro test.pm (qw di movimento di liberazione di uso (/your/dir);)
   * o migliorare, usare un altro nome per il modulo, quale MyTest.pm (esempio qui sotto)

BTW, dovreste esportare soltanto una volta avuto bisogno di.
Altrimenti using qualcosa gradire %MyTest:: il hash è probabilmente un migliore senso (più esplicito) andare.

Buona fortuna!
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 di C:\home\jerome
#! Perl

usare rigoroso;
usare MyTest;

stampare “$_ \ n„ per le chiavi %hash;





>type MyTest.pm di C:\home\jerome
pacchetto MyTest;

usare rigoroso;
usare il qw basso (esportatore);

il nostri @EXPORT = qw (%hash);

nostro %hash = (=> “valore„ della modifica);

1; # questo è richiesto.  Non cancellare questa linea!




>perl ee1.pl di C:\home\jerome
modifica
Altre soluzioni  
 
programming4us programming4us