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

Scalar found where Operator expected

Leser: 1


<< >> 5 Einträge, 1 Seite
SirLant
 2003-11-23 18:52
#72583 #72583
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Wo liegt bei dieser Funktion der Fehler?
Irgend etwas passt Perl bei der Zuweisung an $content nicht.

Code: (dl )
1
2
3
4
5
6
7
8
sub lade {
local $/;
my $datei = $pfad . $aktion . '.htm';
if (open (FILE,"< $datei"))
$content = <FILE>;
else
$content = "Standard";
}


In Zeile 52, dies ist das else.
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
BrownWolf
 2003-11-23 19:22
#72584 #72584
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Iss mir neu das man das ohne { oder } schreibt.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
sub lade {
local $/;
my $datei = $pfad . $aktion . '.htm';
if (open (FILE,"< $datei")) [b]{[/b] 
$content = <FILE>;
[b]}[/b] else [b]{[/b] 
$content = "Standard";
[b]}[/b]
}
\n\n

<!--EDIT|BrownWolf|1069608197-->
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
SirLant
 2003-11-23 19:33
#72585 #72585
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Danke, dachte es geht in Perl so garantiert wenn es in C auch
so geht.

Wenn ich Dateien aus dem Ordner
e:\www\root\tuts\
auslesen möchte, wie muss ich Perl den Pfad
angeben?
Das Skript liegt in
e:\www\cgi-bin\
und es sollte möglichst relativ sein, da es für
ein CGI-Skript ist welches später
in
html/cgi-bin/
liegt und die Dateien in
html/tuts/\n\n

<!--EDIT|SirLant|1069608846-->
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
format_c
 2003-11-23 19:50
#72586 #72586
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Also ich lerne gerade C und werde mich nie an diese Schreibweise gewöhnen:
Code: (dl )
1
2
if (bedingung)
Anweisung;

jedoch muss man sagen, dass ohne dieses Verhalten wohl kein else if möglich wäre.
Naja wollt ich nur mal los werden.

Gruß Alex
Crian
 2003-11-24 11:11
#72587 #72587
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich kam auch von C und C++ nach Perl und fand es anfangs sehr befremdlich, immer die Klammern setzemn zu müssen. Aber dafür gibt es bei Perl ja die Variante mit dem nachgestellten if / unless für einzeilige "Blöcke".
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
<< >> 5 Einträge, 1 Seite



View all threads created 2003-11-23 18:52.