Thread Warum immer noch true am Ende bei Perl-Modulen nötig? (31 answers)
Opened by GwenDragon at 2014-09-06 11:32

pq
 2014-09-06 21:18
#177125 #177125
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2014-09-06T17:21:13 rosti
Um auf die ursprüngliche Frage zurückzukommen: Im Fall use passt obenstehende Logik schon, was die 1; am Ende betrifft, denkbar ist es aber auch, dass die Funktion use selbst den wahren Wert liefert, damit eine Anweisung use Datei; und deren Kompilierung als erfolgreich gewertet wird.

ich weiss nicht, wie du dir das hier zusammenreimst.
du solltest vielleicht nochmal perldoc -f use lesen und dir meine beispiele ansehen. use liefert nix zurück, es ist auch keine funktion im klassischen sinn.

der code muss einen wahren wert liefern, damit require glücklich ist. require selbst liefert dann den wert bzw. 1 zurück, wie du schon schriebst. aber use ist keine alternativ-funktion zu require.
wie ich schon schrieb, $x = use Foo ist ein syntaxfehler.
use ist ein require in einem BEGIN-block. ein BEGIN-block ist keine funktion und hat keinen rückgabewert.

Code: (dl )
1
2
$ perl -wE'my $x = eval "my \$foo = 23; use CGI"; say $x'
23


es ist wirklich nur eine kleinigkeit und ich weiss nicht, warum du meinst, deine aussage mit allen mitteln verteidigen zu müssen.
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

View full thread Warum immer noch true am Ende bei Perl-Modulen nötig?