Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12592[/thread]

use strict, brauche kurz Hilfe



<< >> 5 Einträge, 1 Seite
Gast Gast
 2008-10-07 03:00
#115228 #115228
Nabend,
ich habe gerade ein kleines Problem.

Ich bekomme die Fehlermeldung :

Global symbol "@first_nail" requires explicit package name at www.XXXXXX.de/index.pl line 54.
Execution of www.XXXXXX.de/index.pl aborted due to compilation errors.


Das hier ist der Ausschnitt:

Code (perl): (dl )
1
2
3
4
5
if(!defined($picture))
{
        my $count = (my $count - 2);
        my $picture = @first_nail[$count]; 
}


Wo genau liegt jetzt der Fehler ? Habe ich nen "my" vergessen ?

MFG
betterworld
 2008-10-07 04:31
#115233 #115233
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Scheint ja fast so. Dein Code-Ausschnitt macht kaum Sinn, wenn @first_nail nicht vorher irgendwo initialisiert wurde. Genau dieser Initialisierungs-Ausschnitt, d.h. das erste Vorkommen dieses Arrays, ist eigentlich der Punkt, wo ein my stehen sollte. Genaueres kann man Dir auch nicht sagen, wenn Du den Ausschnitt nicht auch zeigst.

Ferner holst Du ein Array-Element mit $first_nail[$count] (beachte das Dollarzeichen). Dies wird aber Dein Problem nicht lösen.
Gast Gast
 2008-10-07 09:10
#115234 #115234
Code (perl): (dl )
my $count = (my $count - 2);

Das müsste auch eine Fehlermeldung geben. Du versuchst nicht nur eine Variable zweimal zu initialisieren, sondern ziehst auch von "undef" zwei ab.
renee
 2008-10-07 09:39
#115237 #115237
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gast+2008-10-07 07:10:36--
Code (perl): (dl )
my $count = (my $count - 2);

Das müsste auch eine Fehlermeldung geben.
Keine Fehlermeldung, aber ne Warnung...

@Gast: Schau Dir mal diesen Wiki:Artikel an und aktiviere mal warnings.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
betterworld
 2008-10-08 07:03
#115261 #115261
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Gast+2008-10-07 07:10:36--
Code (perl): (dl )
my $count = (my $count - 2);

Das müsste auch eine Fehlermeldung geben. Du versuchst nicht nur eine Variable zweimal zu initialisieren, sondern ziehst auch von "undef" zwei ab.

Oha, den hatte ich ganz übersehen.

Da ist die Frage, wovon überhaupt 2 abgezogen werden soll, bzw. was mit diesem Code gemeint ist. Wahrscheinlich sollte die Variable überhalb der Schleife mit "my" deklariert werden und am besten auch gleich noch explizit auf 0 initialisiert werden.
<< >> 5 Einträge, 1 Seite



View all threads created 2008-10-07 03:00.