Sollte auch hier so sein. Kleiner Test:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;
use 5.010;
sub foo {
my $str = shift;
if ( 1 < length($str) ) {
say "ok";
}
else {
say "no";
}
}
say foo("a");
Ausgabe:
Erste Ausgabe "no" wie zu erwarten; zweite Ausgabe ist eine 1 als Rückgabewert "true" des
say "no".
Wenn ich das
say "no" auf einen nicht-definierten Filehandle schreiben lasse, kommt:
Name "main::NOTHERE" used only once: possible typo at /tmp/foo.pl line 14.
say() on unopened filehandle NOTHERE at /tmp/foo.pl line 14.
Use of uninitialized value in say at /tmp/foo.pl line 18.
Während eines Tests heute Nachmittag hatte ich mir mal die Rückgabe des
$ent->configure() der check()-Routine per warn() ausgeben lassen und es kamen nur Warnungen über "uninitialized value" . Da kommt also anscheinend ein undef zurück.
Ich habe das aber nur ausgetestet und keine Recherche im Tk-Source gemacht, was da genau passiert.
D.h. in diesem Fall liefert check() als Rückgabe den Rückgabewert der configure()-Methode; und das resultiert in einem undef (vielleicht noch in einer leeren Liste). Jedenfalls wohl ein Boolean FALSE.
edit: Flüchtigkeitsfehler korrigiert
Last edited: 2017-04-15 21:15:21 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!