- FHEM: Vordefinierte Variablen nutzen - oder eigene definieren
- Perl-Fehler in FHEM: "Global symbol $Variable requires explicit package name" (nr)
- FHEM: Vordefinierte Variablen nutzen - oder eigene definieren
- Windows Kompatibilitätsmodus: Alte Programme trotzdem starten!
- Mac Zugriffsrechte prüfen und reparieren
- Windows Kompatibilitätsmodus: Alte Programme trotzdem starten!
- Mac Zugriffsrechte prüfen und reparieren
Schnell-Tipp: “Global symbol $Variable requires explicit package name”
Ein häufiger Anfänger-Fehler in Perl ist die Meldung “Global symbol $Variable requires explicit package name” – die lässt sich aber ganz einfach beheben! Ausgelöst wird sie, wenn man die Variable, die in der Fehlermeldung genannt wird, nicht zuvor deklariert hat, das Perl-Skript aber durch die Anweisung “use strict” genau dies fordert.
Zum Beheben des Fehlers muss daher die Variable einfach nur vor der ersten Verwendung deklariert werden, anschließend kann man sie ganz normal (und ohne die Fehlermeldung “Global symbol $Variable requires explicit package name”) benutzen.
“Global symbol $Variable requires explicit package name”
Das folgende kurze Programm wird die Fehlermeldung auswerfen, wenn die Variablen nicht zu Beginn deklariert wurden:
$x = 12; $y = 18; $z = $x + $y;
Zum Beheben kann man sie dabei einfach deklarieren, in dem man vor die erste Verwendung “my” schreibt:
my $x = 12; my $y = 18; my $z = $x + $y;
Hat man die Variablen schon einmal deklariert (wie $x und $y in Zeile 1 und 2) kann man sie anschließend ganz normal nutzen – wie in dem Beispiel oben in Zeile 3: Hier muss das “my” nur für $z vor der ersten Verwendung angegeben werden.
“Global symbol requires…”-Fehler bei Funktionen
Der gleiche Fehler tritt aber auch auf, wenn man eine Variable nur in einer Funktion oder auch nur in einem bestimmten Programmteil – zum Beispiel dem Code, der nur bei positiver IF-Bedingung ausgeführt wird – deklariert, aber später darauf zugreifen möchte:
my $x = 12; my $y = 18; if($x > 0 && $y > 0) { my $z = $x + $y; } print $z;
Auch dieser Code führt zu dem Fehler – richtig müsste das Programm so aussehen:
- Perl-Fehler in FHEM: "Global symbol $Variable requires explicit package nam
- Tipp: Schnell in allen Dateien auf der Webseite nach Text / Bildern suchen!
- Installationscode DSL EasyBox explicit
- Taschenrechner programmieren: bestimmte Variable definieren
Hallo ihr Lieben :)!!!Ich habe einen TI 83+ und möchte längere Formeln einspeich...
- Counterstrike Global offensive hängt sich immerwieder für 20 sec auf .. HILFE ..
- ASK Toolbar, My Global Search, Spyware lässt sich nicht löschen
Spybot kann Ask Toolbar, My global Search bei HKey_Users\.Default\Software ....und bei HKey_Us...
- datenschutz (11x gelesen)
- windows-beschleunigen (7x gelesen)
- windows-schneller-starten-autostart-aufraeumen (7x gelesen)
- pc-einsteigerkurs (5x gelesen)
- pc-einsteigerkurs-1-2 (2x gelesen)
Mehr Tipps zu Schnell-Tipp: “Global symbol $...
-
Liberty Global erwirbt Unitymedia
Der drittgrößter Betreiber von Breitbandkabelnetzen, Unitymedia mit Sitz in Köln, ist an die Liberty Global Inc. für einen Kaufpreis von 3,5 Milliarden Euro verkauft worden....
-
PHP Fehler anzeigen: Fehleranzeige aktivieren für eine oder alle Seiten!
Schnell sehen, wo der PHP Fehler liegt: Dazu schaltet man die PHP Fehleranzeige ein, um genaue Informationen zu Problem und Zeilennummer zu bekommen. Die PHP...
Schnell-Tipp: "Global symbol $Variable requires explicit package name"