Avatar billede Slettet bruger
15. september 2010 - 14:18 Der er 5 kommentarer og
1 løsning

var used only once: possible typo

Øverst i mit perl script bruger jeg require "andetscript.pl" hvor en variabel bliver defineret med "my $var = x;".

$var bruger jeg så senere i hovedscriptet.

Men hovedscriptet beklager sig stadig over, at $var kun bruges én gang. Hvorfor?

"Name "main::var" used only once: possible typo at hovedscript.pl line 21."
Avatar billede Slettet bruger
15. september 2010 - 14:39 #1
husker du at anvende 'use strict' i dine script.
Så vidt jeg kan se ville my $var være lokal til anderscript.pl og hvis du så anvender $var i main (een gang) så findes den version af $var kun i main og anvendes kun een gang (deklareret eller anvendt).

Jeg anvender altid strict af samme grund
Avatar billede Slettet bruger
15. september 2010 - 14:44 #2
Jamen hvordan kan jeg så "importere" variabler via require?

$var HAR desuden en værdi når jeg bruger den...
Avatar billede Slettet bruger
15. september 2010 - 15:06 #3
Hvorfor anvender du require og ikke laver et modul som du inkluderer via 'use'. Det er det jeg plejer at gøre, så kan man lave shared variable via 'our'

der er vist en stor forskel i hvordan ting hentes ind når man anvender require, se Programming Perl.

Jeg anvender normalt moduler og det virker fint for mig.
Avatar billede Slettet bruger
15. september 2010 - 16:46 #4
Fordi jeg er vant til at bruge require, og ikke ønsker at gøre det mere besværligt end nødvendigt :)

our() var løsningen, man skal åbenbart angive variabler fra sub.pl i main.pl. Smid bare et svar.
Avatar billede Slettet bruger
15. september 2010 - 16:55 #5
Dette med at angive shared variable er ikke altid lige nemt
Avatar billede Slettet bruger
15. september 2010 - 17:29 #6
tak for points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester