Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| weiss jemand von euch warum bekomme ich diese Warning? :( Use of uninitialized value in join at Install_Platform.pl line 318. der Code sieht so aus: ............ &Subroutine(@tempArray); #(@tempArray=mehrdimensionale Array) sub Subroutine { my(@arr) = @_; &free_space(@arr); print "S T A R T\n"; print "@{$_}\n" for @arr; print "E N D\n"; ........ }
Datum: 03.04.2007-16:20

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
niemand kann mir hier warum dise warning auftritt. wo seid sind die Experten hier? ich danke euch trozdem für eure Hilfe.
Datum: 04.04.2007-14:26

|
re: Use of uninitialized value in join at Install_Platform.pl lin
|
Seitenanfang |
| Etwas mehr Infos wären nicht schlecht. Hast Du Dir mal angeschaut was im Array drinsteht? (Stichwort: Data::Dumper) Welche Zeile ist Zeile 31??
Datum: 04.04.2007-16:13

|
re: Use of uninitialized value in join at Install_Platform.pl lin
|
Seitenanfang |
| Das hier steht drin: HASH(0x2a33174) Run C:\totalcmd\totalcmd.exe 1 HASH(0x2a33270) Run C:\Win16App\SV-View\VDOqView.exe 2 HASH(0x2a33348) Run C:\totalcmd\totalcmd.exe 3 HASH(0x2a32198) Run C:\totalcmd\totalcmd.exe 4 HASH(0x2a45754) Run C:\totalcmd\totalcmd.exe 5 und keine Data::Dumper im code sondern: einfach das Array mit einer for schleife aufgefühlt( mehrdimensionale Array). ist es das was du meinst? brauche Ihre Hilfe ;-(
Datum: 05.04.2007-09:57

|
re: Use of uninitialized value in join at Install_Platform.pl lin
|
Seitenanfang |
Bau mal folgendes an den Anfang deines Skriptes mit ein:
use Data::Dumper; Und dieses in deine Subroutine:
sub Subroutine { my(@arr) = @_; print Dumper(\@arr); ...Was bekommst du dann als Ausgabe? - mike
Datum: 05.04.2007-18:10

|
re: Use of uninitialized value in join at Install_Platform.pl lin
|
Seitenanfang |
Mit dem Befehl:print Dumper(\@arr); kriege ich sowas und das ist fehlerfrei und warningfrei nu finde ich die ausgabe(1) nicht schön. Mit dem Befehl:print "@{$_}\n" for @arr; bekomme ich die Ausgabe (2) die mir besser gefehlt aber leider mit 1 Warning. Hier sind die Ausgaben: (1) $VAR1 = [ [ {}, 'Run', undef, undef, 'C:\\totalcmd\\totalcmd.exe', '1', undef ], [ {}, 'Run', undef, undef, 'C:\\Win16App\\SV-View\\VDOqView.exe', '2', undef ], [ {}, 'Run', undef, undef, 'C:\\totalcmd\\totalcmd.exe', '3', undef ], [ {}, 'Run', undef, undef, 'C:\\totalcmd\\totalcmd.exe', '4', undef ], [ {}, 'Run', undef, undef, 'C:\\totalcmd\\totalcmd.exe', '5', undef ] ]; #und keine warning_meldung.#(2) HASH(0x2a2e2c8) Run C:\totalcmd\totalcmd.exe 1 HASH(0x2a471a4) Run C:\Win16App\SV-View\VDOqView.exe 2 HASH(0x2a47210) Run C:\totalcmd\totalcmd.exe 3 HASH(0x2a470b4) Run C:\totalcmd\totalcmd.exe 4 HASH(0x2a4700c) Run C:\totalcmd\totalcmd.exe 5 ##### hast du eine Idee woran es liegt wenn nicht dann ist es OK ich werde mir das erste Befehl nehmen und danke für deine Hilfe.
Datum: 10.04.2007-10:23

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| Ganz einfach, eines oder mehrere der Arrays die du mit print ausgibst enthalten einen undefinierten Wert, deshalb erhaelst du eine Warnung. Man nehme folgendes Codebeispiel
#!/usr/bin/perl use strict; use warnings; my @var = ( 'foo', undef, 'bar' ); print "@var";
Auch hier kommt die Meldung "Use of uninitialized value in join or string at file.pl line 8." obwohl kein join im Code ist, jedoch entspricht die letzte Zeile
print join($", @var);
ist jetzt einer der Werte aus @var undefiniert erhaelt man mit aktivierten 'warnings' eine Warnung.
Datum: 10.04.2007-11:58

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| Ganz einfach, eines oder mehrere der Arrays die du mit print ausgibst enthalten einen undefinierten Wert, deshalb erhaelst du eine Warnung. Man nehme folgendes Codebeispiel
#!/usr/bin/perl use strict; use warnings; my @var = ( 'foo', undef, 'bar' ); print "@var";
Auch hier kommt die Meldung "Use of uninitialized value in join or string at file.pl line 8." obwohl kein join im Code ist, jedoch entspricht die letzte Zeile
print join($", @var);
ist jetzt einer der Werte aus @var undefiniert erhaelt man mit aktivierten 'warnings' eine Warnung.
Datum: 10.04.2007-11:59

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| Ganz einfach, eines oder mehrere der Arrays die du mit print ausgibst enthalten einen undefinierten Wert, deshalb erhaelst du eine Warnung. Man nehme folgendes Codebeispiel
#!/usr/bin/perl use strict; use warnings; my @var = ( 'foo', undef, 'bar' ); print "@var";
Auch hier kommt die Meldung "Use of uninitialized value in join or string at file.pl line 8." obwohl kein join im Code ist, jedoch entspricht die letzte Zeile
print join($", @var);
ist jetzt einer der Werte aus @var undefiniert erhaelt man mit aktivierten 'warnings' eine Warnung.
Datum: 10.04.2007-12:01

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| und wie könnte ich diese warning beseitigen?
Datum: 10.04.2007-13:05

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| die Werte in dem Array hole ich mir von einem XMLFile und manschmal ist irgendwo einen undefinierten Element -> undefinierten wert in meinem Array. diese Warning nerft mich gibt es da eine möglichkeit: diese Warning zu beseitigen oder zu ignorieren damit ich keine Warning dadurch bekomme.?? und danke euch
Datum: 10.04.2007-16:50

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
| Man wird die Warnungen los in dem man die Werte auf einen definierten Wert setzt, bevor man sie ausgibt. Wenn du die XML-Datei mit XML::Simple einliest, dann gibt es eine Option namens 'SuppressEmpty'. Du kannst diese Option auf '' also auf einen Leerstring setzen, dann wird statt einen undefinierten Wert ein Leerstring verwendet. (In der Regel werden statt undef und des Leerstrings ein leerer Hash verwendet.) http://search.cpan.org/dist/XML-Simple/lib/XML/Simple.pm#___top
Datum: 12.04.2007-20:33

|
re: Use of uninitialized value in join at Install_Platform.pl line 31
|
Seitenanfang |
Danke dir für deine Große Hilfe. du hast meine Frage richtig verstanden und das ist genau was ich brauche. danke nochmal ;-)
Datum: 13.04.2007-10:19

|