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

Problem mit Modul: Perl-Modul liefert falschen Wert zurück. (Seite 2)

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Strat
 2004-03-24 03:01
#81107 #81107
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@ptk hat wie ueblich recht; ich bin da zu vorsichtig
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2004-03-24 09:00
#81108 #81108
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=Crian,23.03.2004, 15:35]Nö, nicht in einem Modul. Da ist die letzte Zeile bei mir immer "return 1;" und da meckert auch niemand drüber, nichtmal der Interpreter ;)[/quote]
Crian hat recht...
Crian
 2004-03-24 12:04
#81109 #81109
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=Strat,23.03.2004, 18:54]also bei mir kommt da auch immer die Warnung...[/quote]
Das finde ich merkwürdig. Ich hab auch immer die Warnings an (und strict). Woran kann das denn liegen, dass ihr da Warnungen bekommt und ich nicht?

In diesem Fall:

[quote=format_c,23.03.2004, 13:52]Problem bei return 1; am ende einer Datei (Nicht einer Subroutine) mecker der Compiler.
Code: (dl )
1
2
3
4
C:\>perl -e "return 1;"
Can't return outside a subroutine at -e line 1.

C:\>

[/quote]

Ist das return ja nicht in einem Modul, sondern im Perl-Skript.\n\n

<!--EDIT|Crian|1080122882-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-03-24 12:55
#81110 #81110
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
@crian,strat: die warnung dürfte eigentlich nur auftauchen, wenn man das
modul direkt ausführt, aber nicht bei perl -c...
ich schreibe trotzdem lieber 1; anstatt return 1; in modulen...
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
havi
 2004-03-24 13:43
#81111 #81111
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Ich schreibe auch immer 1;, aber return 1; ist genauso richtig.

Gruss
Crian
 2004-03-24 14:08
#81112 #81112
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich finde, das return hat so eine Art Dokumentationscharakter. Wenn man allerdings - wie in Strats Beispiel, im Kommentar dahinter schreibt, dass es ein Rückgabewert ist und warum, ist das ja auch ok.

Gibt es irgendwelche rationalen Gründe, meine Angewohnheit zu ändern? (Meist hat das ja Hand und Fuß wenn ihr irgendetwas auf eine bestimmte Art und Weise macht...)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-03-24 15:16
#81113 #81113
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich habe "1;" gelernt und mein Eindruck ist, dass die meisten (CPAN-)Autoren ebenfalls "return" weglassen. Ausserdem handelt es sich nicht um ein "return", wie man es von Funktionen kennt (ausser, man verwendet etwas wie "return 1 if caller").
Strat
 2004-03-25 14:07
#81114 #81114
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,24.03.2004, 11:04]Das finde ich merkwürdig. Ich hab auch immer die Warnings an (und strict). Woran kann das denn liegen, dass ihr da Warnungen bekommt und ich nicht?[/quote]
Ich nicht; vergleicht mal eure Perl-Versionen...

von daher empfehle ich
1; # modules have to return a true value

Nur weil was unter bestimmten Umstaenden moeglich ist, muss man es noch lange nicht machen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2004-03-17 12:04.