Schrift
[thread]235[/thread]

Hello World Script mit Fehlermeldung?!?



<< >> 7 Einträge, 1 Seite
x-man
 2004-04-15 03:55
#2098 #2098
User since
2003-09-11
67 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use CGI::Carp qw(fatalsToBrowser);
use strict;

$conttype = "Content-type: text/html\n\n";
&info;

sub info{
print $conttype;
print "<html><body>\n";
print "Hello World ohne Fehler;-)\n";
print "</body></html>\n";
}


beim Ausführen des Scripts bekam ich folgende Meldung:

Code: (dl )
1
2
3
Software error:
Execution of /home/sites/site27/web/cgi-bin/test/x.cgi aborted due to compilation errors.
For help, please send mail to the webmaster (admin), giving this error message and the time and date of the error.


Ohne
Code: (dl )
use strict;


läufts. Bin ich doof? (bitte um ehrliche Antwort, auch wenn es schmerzt ;-)) Hat jemand ne Erklärung?

linux (Kernel: 2.2.16C37_III )
Perl Version: 5.00503\n\n

<!--EDIT|x-man|1081987194-->
Ishka
 2004-04-15 07:15
#2099 #2099
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
use strict heißt, daß du deine Variablen vor ihrem ersten Verwenden initialisieren mußt (hilft gegen spätere Rechtschreibfehler).
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use CGI::Carp qw(fatalsToBrowser);
use strict;

my $conttype = "Content-type: text/html\n\n";
&info;

sub info{
print $conttype;
print "<html><body>\n";
print "Hello World ohne Fehler;-)\n";
print "</body></html>\n";
}
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
x-man
 2004-04-15 10:17
#2100 #2100
User since
2003-09-11
67 Artikel
BenutzerIn
[default_avatar]
Aber in diesem Script habe ich nur eine Variable ($conttype) und die ist mit einem Wert initialisiert worden.
renee
 2004-04-15 10:43
#2101 #2101
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du use strict; verwendest, musst Du die Variable mit my deklarieren.

also muss das bei Dir my $contenttype; heißen...

Du kannst natürlich auch Deklaration und Initialisierung zusammenpacken (wie Du es gemacht hast), also

my $contenttype = "Content-type: text/html\n\n";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
[E|B]
 2004-04-15 11:34
#2102 #2102
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
In letzter Zeih häufen sich die strict-Fehler. Wie wärs mit einem geeigneten FAQ-Eintrag?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Ishka
 2004-04-15 16:33
#2103 #2103
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
schreib einen :p
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
x-man
 2004-04-15 17:55
#2104 #2104
User since
2003-09-11
67 Artikel
BenutzerIn
[default_avatar]
Ooooh... ich bin wirklich doof. Wie konnte ich das my übersehen ;-) Naja es war schon spät und ich war ja müde :-)) Danke Ishka!
<< >> 7 Einträge, 1 Seite



View all threads created 2004-04-15 03:55.