[Ro] 2004-11-05 (Nov 5th, 2004) Lovingly crafted simplicity. [CGI] can get complex when you include library after library, so let's do it by hand: #!/usr/bin/tclsh puts "Content-type: text/plain\n" puts eogieogeig The most basic cgi, all it does is display some text, not even html! But hey, if you're this far, your server is set up, your permissions on your cgi file are correct, and that's half the battle. #!/usr/bin/tclsh puts "Content-type: text/html\n" puts { wonderz aloha! } Great! You're sending them html now. Notice the Content-type header. #!/usr/bin/tclsh puts "Content-type: text/plain\n" parray env Wow! Text again, but this time we're dumping out our environment variables, and thats the guts of interfacing to the server, hence the term Common Gateway ''Interface''. ---- [GPS]: Nice simple example. I'm not positive, but I seem to recall reading that \r\n is the standard EOL pattern for CGI apps. Thus I usually use puts "Content-type: text/plain\r" I've used \r\n for my CGI work with Roxen, without problems. Also, there are CGI-related packages in [tcllib] that are useful for translating the arguments from a web browser into a more usable format. ---- pepolez: I've used ''puts "Content type: text/html\n"'' without any problems. I am however curious as to how to allow a CGI script to output jpeg image data copied from a local file, so that the script outputs a jpeg image to the client browser. [AMG]: The following works for me. fconfigure stdout -translation crlf puts "Content-type: image/jpeg\n" fconfigure stdout -translation binary set chan [open whatever.jpg] fconfigure $chan -translation binary fcopy $chan stdout close $chan Without the [[[fconfigure]]] invocations, the above does not work. For added fun and enjoyment, dynamically generate the images. Check out [GD] or [fly]. Maybe you can cobble together a non-GUI [Tk] and use its image manipulation. There are all sorts of options here. You can even bind to the library of your choice with [swig]. ---- [LES] on 11-26-2006: I used that kind of approach to upgrade my Web site from [PHP] to [Tcl] two years ago, and have always had a tiny litle problem: the W3.org validator can't see any of my HTML [http://tinyurl.com/tlubd]. Apparently, regular browsers can see it fine [http://tinyurl.com/y7pfh7]. It's just the W3.org validator that fails, but that didn't occur when I used [PHP]. I wonder what I could be doing wrong. ---- [[ [Category Internet] ]]