Welcome to WebmasterWorld Guest from 54.196.244.186

Forum Moderators: coopster & jatar k & phranque

Message Too Old, No Replies

Perl Output Code - Internal 500 Debug

Perl Output Code - Internal 500 Debug

     
10:36 pm on Aug 21, 2004 (gmt 0)

New User

10+ Year Member

joined:Apr 27, 2004
posts:5
votes: 0



I have just setup a script but it's not working.

I have tested other .pl files and they work - what I am looking for is a few lines of code I can inject int the .pl that will output some errors to the browser so I can debug the problem.

Thanks in advance!

5:35 am on Aug 22, 2004 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Feb 16, 2004
posts:1341
votes: 0


Since Perl is interpreted at runtime, a 500 "internal server error" means the code would not run...

If you have perl on a local machine you can run the code from a command line and read the errors... sometimes as simple as a missing curly bracket or semi-colon.

Otherwise, see if your host has a "Check Perl Scripts" utility you can use to debug online.

8:58 am on Aug 22, 2004 (gmt 0)

Senior Member

WebmasterWorld Senior Member kaled is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Mar 2, 2003
posts:3710
votes: 0


Download Active Perl and debug it on your PC/Mac.

Kaled.

10:40 am on Aug 30, 2004 (gmt 0)

Junior Member

10+ Year Member

joined:Jan 27, 2003
posts:166
votes: 0


What you can insert (near the top of the script, with the other use statements) is:


use CGI::Carp qw(fatalsToBrowser);
11:16 am on Aug 30, 2004 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Aug 8, 2004
posts:1679
votes: 0


Just some common reasons (may not be applicable in this case however) why script that appears to run fine in Windows then dies on Unix.

1) make sure you upload script using ASCII transfer mode - if you use binary then Unix system will choke and die on Windows style of end of lines.

2) make sure you have turned buffering off, use this: $¦ = 1;

3) of course you need to output at least some headers! Here is bare minimum:

print "Content-type: text/html\n\r\n\r";

7:58 pm on Aug 30, 2004 (gmt 0)

Preferred Member

10+ Year Member

joined:Aug 7, 2003
posts:408
votes: 0


If you are serious about Perl programming, you must follow the advice of kaled and install Perl Active State on your local system. It will save you a lot of time to debug your scripts ;-)