Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP
Demo ASP: syntax_error.asp 2026-09-07

We are creating a perl syntax error... this should demonstrate how error handling is done. Please check the error log file if you are interested in the output there.

You can turn this error messaging off by setting the Debug variable in the ASP config to 1 or 0.

Also here is an example of how you can use debugging, an API extension $Response->Debug(@args), in your script. The debug output will show up below, and in your error logs. This user style debugging is turned off with the same Debug setting set to 0.

Try this script also with buffering on.

This script by default does a runtime syntax error. If you would like to see a script compile error, click here.

view this file's source

Errors Output

  1. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
Debug Output
  1. RUN ASP (v2.63) for /usr/local/proj/asp/eg/syntax_error.asp
  2. GlobalASA package Apache::ASP::Demo
  3. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  4. creating dbm for file /tmp/asp_demo/server/application, db SDBM_File, serializer: Data::Dumper
  5. refreshing 05dd60639df0703bdabd9549ebebbfb7 with timeout 1788750062
  6. new session id 05dd60639df0703bdabd9549ebebbfb7
  7. creating dbm for file /tmp/asp_demo/05/05dd60639df0703bdabd9549ebebbfb7, db SDBM_File, serializer: Data::Dumper
  8. tieing session 05dd60639df0703bdabd9549ebebbfb7
  9. clearing starting session
  10. Session_OnStart - session: 05dd60639df0703bdabd9549ebebbfb7;
  11. executing Session_OnStart
  12. updating LastSessionTimeout from 1788750060
  13. Script_OnStart
  14. executing Script_OnStart
  15. [syntax_error.asp] - Script_OnStart /usr/local/proj/asp/eg/syntax_error.asp in global.asa
  16. executing Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspx912a61bdf9084209b6314417f66088c7xINC
  17. Script_OnFlush
  18. executing Script_OnFlush
  19. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  20. building headers
  21. sending cgi headers
  22. executing Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3436ef45a26199e890479d9a7f0923bcxINC
  23. Script_OnFlush
  24. executing Script_OnFlush
  25. [syntax_error.asp] - Script_OnFlush: about to flush 871 bytes to client
  26. Script_OnFlush
  27. executing Script_OnFlush
  28. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  29. done executing include code Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3436ef45a26199e890479d9a7f0923bcxINC
  30. Script_OnFlush
  31. executing Script_OnFlush
  32. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  33. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  34. Script_OnFlush
  35. executing Script_OnFlush
  36. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  37. Script_OnFlush
  38. executing Script_OnFlush
  39. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  40. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
  41. ASP Done Processing Apache::ASP=HASH(0x5562c8647b00) - Application: Apache::ASP::Application=HASH(0x5562c864fe68); GlobalASA: Apache::ASP::GlobalASA=HASH(0x5562c8648448); Internal: Apache::ASP::State=HASH(0x5562c8537a68); Request: Apache::ASP::Request=HASH(0x5562c864de00); Response: Apache::ASP::Response=HASH(0x5562c864dcf8); Server: Apache::ASP::Server=HASH(0x5562c8645900); Session: Apache::ASP::Session=HASH(0x5562c84e74d8); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x5562c8645930); compile_checksum: 3436ef45a26199e890479d9a7f0923bc; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x5562c8641cc8); destroy: 1; dir_config: APR::Table=HASH(0x5562c86480a0); dirname: /usr/local/proj/asp/eg/; errors_output: ARRAY(0x5562c86453c0); errs: 1; filename: /usr/local/proj/asp/eg/syntax_error.asp; global: /usr/local/proj/asp/eg//.; global_package: Apache::ASP::Demo; group_refresh: 30; headers_in: APR::Table=HASH(0x5562c863e1a0); http_only_session: ; includes_dir: ARRAY(0x5562c8649158); init_packages: ARRAY(0x5562c8654280); inode_names: 0; last_compile_include_data: HASH(0x5562c84f4040); last_time: 1788749762.6973; no_cache: 0; package: Apache::ASP::Demo; paranoid_session: ; r: Apache2::RequestRec=SCALAR(0x5562c8641638); remote_ip: 216.73.216.74; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x5562c84f4070); search_dirs_cache: HASH(0x5562c84b5880); secure_session: ; session_count: 1; session_id: 05dd60639df0703bdabd9549ebebbfb7; session_serialize: ; session_state: 1; session_timeout: 300; session_url: 1; session_url_force: ; session_url_match: ; session_url_parse: 0; session_url_parse_match: ; start_time: 1788749762.69421; stat_inc: 0; stat_inc_match: 0; stat_scripts: 1; state_db: ; state_dir: /tmp/asp_demo; state_manager: 10; state_serialize: ; state_serializer: ; ua: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com); use_strict: 1; win32: 0; xslt: 0;
  42. errors out
  43. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
ASP to Perl Script 

  -: use strict;;;use vars qw($Application $Session $Response $Server $Request);;
  -: #line 1 /usr/local/proj/asp/eg/syntax_error.asp
  1: ;;
  2: 
  3: ;  
  4: use File::Basename;
  5: if($Request->QueryString('buffer')) {
  6: 	$Response->{Buffer} = 1;
  7: } else {
  8: 	$Response->{Buffer} = 0; 
  9: }
 10: ; &Apache::ASP::WriteRef($main::Response, \('
 11: ')); $Response->Include('/usr/local/proj/asp/eg/header.inc', ); ; &Apache::ASP::WriteRef($main::Response, \('
 12: We are creating a perl syntax error... this should demonstrate 
 13: how error handling is done.  Please check the error log file if 
 14: you are interested in the output there.
 15: <p>
 16: You can turn this error messaging off by setting the Debug variable
 17: in the ASP config to 1 or 0.
 18: <p>
 19: Also here is an example of how you can use debugging, an API
 20: extension $Response->Debug(@args), in your script.  The debug 
 21: output will show up below, and in your error logs.  This user 
 22: style debugging is turned off with the same Debug setting set to 0.
 23: <p>
 24: 
 25: 
 26: 
 27: ')); 
 28:    $Response->Debug(
 29: 	"Debugging", 
 30: 	['can', 'take'], 
 31: 	{'just'=>'about'},
 32: 	sub { ['any', 'kind']},
 33: 	\"of reference",
 34: 	"or scalar"
 35: 	);
 36: 
 37:    print "Try this script also with <a href=".basename($0)."?buffer=1>buffering on.</a>";
 38: ; &Apache::ASP::WriteRef($main::Response, \('
 39: 
 40: <p>
 41: 
 42: This script by default does a runtime syntax error.  If you would like
 43: to see a script <b>compile error, <a href="'.( basename($0) ).'?compile_error=1">click here</a></b>.
 44: 
 45: <p>
 46: <a href="source.asp?file='.($Request->ServerVariables("SCRIPT_NAME")).'">
 47: view this file\'s source
 48: </a>
 49: 
 50: <br>
 51: <br>
 52: 
 53: ')); 
 54: if($Request->QueryString('compile_error')) {
 55:   $Response->Include("compile_error.inc");
 56: } else {
 57:         my $Object;
 58: 	# create a run-time syntax error
 59: 	$Object->SyntaxError(); 
 60: }
 61: ; &Apache::ASP::WriteRef($main::Response, \('
 62: 
 63: 
 64: 
 65: 
 66: 
 67: 
 68: 
 69: 
 70: 
 71: 
 72: 
 73: 
 74: Misc Text Below Error'));


An error has occured with the Apache::ASP script just run. If you are the developer working on this script, and cannot work through this problem, please try researching it at the Apache::ASP web site, specifically the FAQ section. Failing that, check out your support options, and if necessary include this debug output with any query.