Schrift
[thread]8063[/thread]

warnings

Leser: 1


<< |< 1 2 3 4 ... 6 >| >> 52 Einträge, 6 Seiten
Froschpopo
 2006-06-08 02:06
#67050 #67050
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
huhu!

was sind das eigentlich für komische warnings:
Code: (dl )
1
2
3
4
5
my $keks = cookie('sessionid');

if ($keks eq $old) {
...
}

ergibt dann also:
Use of uninitialized value in string eq at /srv....

wie kann man das denn bitte umgehen und wieso ist das überhaupt von bedeutung?
lichtkind
 2006-06-08 03:19
#67051 #67051
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
uninitialized value weist meist auf variablen die nie einen wert bekommen haben. möglicherweise existiert cookie('sessionid') garnicht.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
esskar
 2006-06-08 04:11
#67052 #67052
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
besser
Code: (dl )
my $keks = cookie('sessionid') || '';
pq
 2006-06-08 12:09
#67053 #67053
User since
2003-08-04
12207 Artikel
Admin1
[Homepage]
user image
dadurch wird auch ein wert von 0 zu einem leerstring.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Taulmarill
 2006-06-08 12:28
#67054 #67054
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
das warnings-pragma gibt eine solche warnung aus, wenn einer der beiden vergleichsparameter den wert "undef" hat (unabhängig davon was mit der variable vorher schon einmal passiert ist). das hat desshalb sinn, da die ursache dessen oftmals die ist, dass man bei der zuweisung des gewünschten wertes zur variable irgendwo einen fehler gemacht hat. wenn du dir sicher bist, dass $old gefüllt ist, kannst du z.b. so was machen:
Code: (dl )
1
2
3
if ( defined $keks and $keks eq $old ) {
#....
}
\n\n

<!--EDIT|Taulmarill|1149755341-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
GwenDragon
 2006-06-08 14:13
#67055 #67055
User since
2005-01-17
14510 Artikel
Admin1
[Homepage]
user image
Code: (dl )
my $keks = defined( cookie('sessionid') ) ? cookie('sessionid') : '';

Wäre auch eine Lösung ;)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

esskar
 2006-06-08 16:18
#67056 #67056
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=GwenDragon,08.06.2006, 12:13]
Code: (dl )
my $keks = defined( cookie('sessionid') ) ? cookie('sessionid') : '';

Wäre auch eine Lösung ;)[/quote]
dabei fällt mir auf, dass du im grunde 2mal einen funktionsaufruf machst;
esskar
 2006-06-08 16:18
#67057 #67057
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pq,08.06.2006, 10:09]dadurch wird auch ein wert von 0 zu einem leerstring.[/quote]
stimmt.
aber selbst eine sessionid von 0 ist in meinen augen unsinn; deswegen wohl okay
GwenDragon
 2006-06-08 17:41
#67058 #67058
User since
2005-01-17
14510 Artikel
Admin1
[Homepage]
user image
[quote=esskar,08.06.2006, 14:18][quote=GwenDragon,08.06.2006, 12:13]
Code: (dl )
my $keks = defined( cookie('sessionid') ) ? cookie('sessionid') : '';

Wäre auch eine Lösung ;)[/quote]
dabei fällt mir auf, dass du im grunde 2mal einen funktionsaufruf machst;[/quote]
Ja, das könnte optimiert werden :blush:

In Perl 6 wäre es ja einfacher:
$keks = cookie('sessionid') // '';
Oder?

/edit: smilies deakt.\n\n

<!--EDIT|GwenDragon|1149774860-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

pq
 2006-06-08 17:55
#67059 #67059
User since
2003-08-04
12207 Artikel
Admin1
[Homepage]
user image
oder in perl 5.10
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 3 4 ... 6 >| >> 52 Einträge, 6 Seiten



View all threads created 2006-06-08 02:06.