CGI Programming with Perl
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
- #PCDATA: 14.3. Document Type Definition
- packages
- package function, declaring Perl module package: 5.5.4. Custom Module
- in Perl: 5.1.3. Standard and Object-Oriented Syntax
- padding fields, character data types: 10.3.1. Creating a Database
- param method: 5.2.2. Accessing Parameters
- 6.3.1. Syntax
- file upload element, using as file handle: 5.2.4. File Uploads with CGI.pm
- index keywords, retrieving: 5.2.2.3. Index queries
- uploaded files, accessing names of: 5.2.4. File Uploads with CGI.pm
- parameters
- clearing all: 5.2.2.1. Modifying parameters
- cookies: 11.3.1. Setting Cookies
- restrictions applying to: 11.3.1. Setting Cookies
- email addresses, passing through shells as: 9.1.1. Mailers and Shells
- exporting to namespaces: 5.2.3. Exporting Parameters to a Namespace
- forms
- capturing to offline file: 15.3.3. Running Scripts from the Command Line
- CGI.pm module, prompting for: 15.3.3. Running Scripts from the Command Line
- passing as arguments to CGI scripts: 15.3.3. Running Scripts from the Command Line
- looping as conditions: 6.3.1.2. Conditionals
- modifying within CGI script: 5.2.2.1. Modifying parameters
- passing without equal sign (=): 4.3. Decoding Form Input
- parent processes: 8.2.4. fork and exec
- parentheses () after XML element names: 14.3. Document Type Definition
- parse_form_data (example script): 4.3. Decoding Form Input
- parsers
- HTML static documents: 6.3. HTML::Template
- XML
- different ways of parsing: 14.5. CGI Gateway to XML Middleware
- syntax, simplicity of: 14.2. An Introduction to XML
- validation rules, separating from: 14.3. Document Type Definition
- writing: 14.4. Writing an XML Parser
- XML::Parser: 14.5. CGI Gateway to XML Middleware
- XML::Parser module: 14.3. Document Type Definition
- parsing
- CGI output with SSI: 6.2. Server Side Includes
- cookies with CGI.pm: 11.3.1. Setting Cookies
- HTML documents: 14.2. An Introduction to XML
- inserting identifiers, code for: 11.1. Query Strings and Extra Path Information
- for links: 11.1. Query Strings and Extra Path Information
- for Perl code: 6.4. Embperl
- URL encoding: 2.1.3. URL Encoding
- XML documents
- tag and: 14.3. Document Type Definition
- without DTDs: 14.3. Document Type Definition
- partial headers: 3.3.1. Partial Headers
- Location header: 3.3.1.2. Forwarding to another URL
- Status header: 3.3.1.3. Specifying status codes
- passwords: 2.4.2.10. WWW-Authenticate
- 401 status code responses, asking for: 3.3.1.3. Specifying status codes
- attributes, password fields: 4.2.3.2. Password fields
- encrypted, in user file: 2.3.2.4. Authorization
- GET requests, including for: 4.2.3.2. Password fields
- Password element: 7.2.1.1. Validating elements
- password fields, representing with characters: 4.2.3.2. Password fields
- paths
- cgi in URL: 1.4.1.1. Configuring by directory
- default, Apache installation: 1.4. Web Server Configuration
- filenames, varying delimiters among operating systems: 5.2.4. File Uploads with CGI.pm
- filesystem, providing for files included in templates: 6.3.1.3. Including other files
- full, creating to files: 12.2. Searching One by One, Take Two
- full vs. relative in relative URLs: 2.1.2. Absolute and Relative URLs
- index: 12.3.1. Search Application
- default: 12.3. Inverted Index Search
- specifying to: 12.3. Inverted Index Search
- invalid, to interpreted scripting languages: 15.1.2. The Pound-Bang
- to sendmail program from procmail: 9.7.1. Autoreply from nobody
- URLs: 2.1.1. Elements of a URL
- 12.3.1. Search Application
- extra information, maintaining state with: 11.1. Query Strings and Extra Path Information
- for CGI scripts: 2.1.1. Elements of a URL
- passing unique identifiers as extra information: 11. Maintaining State
- protectedNews module (example): 2.3.2.4. Authorization
- relative vs. full: 2.1.2. Absolute and Relative URLs
- virtual paths: 1.4.1.1. Configuring by directory
- Windows system files, browser handling of: 5.2.4. File Uploads with CGI.pm
- PATH_TRANSLATED environment variable: 11.1. Query Strings and Extra Path Information
- PDF (Portable Document Format): 13.1.4. PDF
- Image::Magick module, support for: 13.5.3. PDF and PostScript Support
- PDK (Perl Development Kit), obtaining from ActiveState web site: 15.3.5.3. ActiveState Perl debugger
- peformance, Perl CGI programs
- Perl techniques for improving
- localizing variables with my: 17.1.3. Localize Variables with my
- SelfLoader module, using: 17.1.6. SelfLoader
- shell, avoiding: 17.1.8. Avoid the Shell
- slurping, avoiding: 17.1.4. Avoid Slurping
- undef vs. (): 17.1.5. undef Versus ( )
- percent sign (%)
- hashes, use of: 12.3.1. Search Application
- 14.5. CGI Gateway to XML Middleware
- URL-encoded characters: 4.1. Sending Data to the Server
- decoding: 4.3. Decoding Form Input
- representing: 2.1.3. URL Encoding
- performance and temporary files, named vs. anonymous: 10.1.3.2. Named temporary files
- performance, Perl CGI programs
- Perl techniques for improving: 17.1. Basic Perl Tips, Top Ten
- autouse feature: 17.1.7. autouse
- benchmarking code: 17.1.1. Benchmark Your Code
- benchmarking modules: 17.1.2. Benchmark Modules, Too
- existing solutions, finding: 17.1.9. Find Existing Solutions for Your Problems
- regular expressions, using: 17.1.10. Regular Expressions
- period (.) or dash (-), starting filenames with: 5.2.4. File Uploads with CGI.pm
- 5.2.4. File Uploads with CGI.pm
- perl interpreter: 1.3.2. Alternatives to CGI
- (see also interpreters)
- embedding within web server: 1.3.2. Alternatives to CGI
- Perl language
- aliases for imported symbols: 5.1.3. Standard and Object-Oriented Syntax
- buffering output to STDOUT for web server: 3.1.1.2. STDOUT
- capitalization conventions: 16.2. Coding Guidelines
- CGI (see CGI programs, CGI)
- chr function, converting hexadecimal values to characters: 2.1.3. URL Encoding
- coding techniques, avoiding bugs with: 15.2. Perl Coding Techniques
- binmode, use of: 15.2.7. Use binmode
- checking status of system calls: 15.2.2. Check Status of System Calls
- file locking: 15.2.5. File Locking
- strict module, using: 15.2.1. Use strict
- unbuffering output stream: 15.2.6. Unbuffer Output Stream
- using with Tk via Tk.pm: 15.3.5.2. ptkdb
- commands in Embperl documents, surrounding with brackets: 6.4.2.1. Embperl code blocks
- data structures
- printing with Data::Dumper module: 15.3.4. Dumping Variables
- related URLs and subsequent related URLs: 14.5. CGI Gateway to XML Middleware
- data types (see data types)
- DBI, using with: 10.4. DBI
- DBM files, storing as objects in: 10.2.2. MLDBM
- debugger: 15.3.5. Debuggers
- 15.3.5.3. ActiveState Perl debugger
- (see also debugging)
- ActiveState debugger: 15.3.5.3. ActiveState Perl debugger
- documentation for: 15.3.5.1. The Perl debugger
- default input record separator ($/): 12.3. Inverted Index Search
- embedding within Apache web server: 17.3. mod_perl
- Embperl module, shifting Perl code into HTML documents: 6.4. Embperl
- end-of-line characters, translating to \\\\n: 5.2.4. File Uploads with CGI.pm
- FastCGI and: 1.3.2. Alternatives to CGI
- forking: 8.2.3. Security Strategies
- functions vs. methods: 5.1.3. Standard and Object-Oriented Syntax
- grep function: 12.2. Searching One by One, Take Two
- here documents: 5.4.2. Here Documents
- libraries, storing in site_perl directory: 5.5.4. Custom Module
- linefeeds and carriage returns on different operating systems: 3.3.1.1. Outputting documents
- list vs. scalar context: 2.4.2.4. Date
- mailers: 9.6. Perl Mailers
- modules: 11.1. Query Strings and Extra Path Information
- B. Perl Modules
- Apache::ASP: 1.3.2. Alternatives to CGI
- CGIBook::UserTracker: 11.1. Query Strings and Extra Path Information
- creating your own: 5.5.4. Custom Module
- HTML::Mason module: 6.5. Mason
- LWP module: 8.2.5. Trusting the Browser
- open source: 1.3.1. Why Perl?
- standard Perl script vs.: 5.5.4. Custom Module
- WDDX.pm: 7.3.1. WDDX
- XML::Parser: 14.3. Document Type Definition
- newsgroups: A.6. Newsgroups
- packages: 5.1.3. Standard and Object-Oriented Syntax
- performance of CGI scripts, improving: 17.1. Basic Perl Tips, Top Ten
- autouse feature: 17.1.7. autouse
- benchmarking: 17.1.1. Benchmark Your Code
- existing solutions, finding: 17.1.9. Find Existing Solutions for Your Problems
- localizing variables with my: 17.1.3. Localize Variables with my
- regular expressions, using: 17.1.10. Regular Expressions
- SelfLoader module, using: 17.1.6. SelfLoader
- shell, avoiding: 17.1.8. Avoid the Shell
- slurping, avoiding: 17.1.4. Avoid Slurping
- undef vs. (): 17.1.5. undef Versus ( )
- pipes to external programs: 8.2.2. User Input and the Shell
- PPM (Perl Package Manager): 10.4.1. Using DBI
- printing, STDOUT and: 1.2. Introduction to CGI
- qq// operator: 5.4.2. Here Documents
- quotemeta function: 12.2. Searching One by One, Take Two
- scalar representations of array references: 4.3. Decoding Form Input
- STDERR, not buffering: 3.1.1.3. STDERR
- storage locations, different operating systems: 15.1.2. The Pound-Bang
- syntax errors, checking with -wc switch: 15.1.4. "Malformed" Header
- taint mode: 8.4. Perl's Taint Mode
- common problems with: 8.4.5. Common Problems with Taint Mode
- data monitored by: 8.4.2. What Is Monitored by Taint Mode
- how it works: 8.4.1. How Taint Works
- reasons for using: 8.4.4. Why Use Taint Mode?
- removing taint: 8.4.3. How Taintedness Is Removed
- text files (see text files)
- tie mechanism: 10.1.1.1. flock
- turning on warnings and taint checking: 1.2.1. Sample CGI
- underscore (_), use in: 16.2. Coding Guidelines
- version, getting with -v flag: 15.1.2. The Pound-Bang
- XML::Parser library, online information: 14.5. CGI Gateway to XML Middleware
- perldoc (documentation viewer): B.2. perldoc
- PerlEx module: 17. Efficiency and Optimization
- PerlMagick module (see Image::Magick module: 13.5. PerlMagick
- permanent moves, URLs of requested resources: 3.3.1.3. Specifying status codes
- permissions
- applications, CGI errors and: 15.1.1. Application Permissions
- CGI programs
- checking: 15.1.1. Application Permissions
- configuring web server to set: 3.1. The CGI Environment
- execute, turning offf: 1.4.1.2. Configuring by extension
- forbidden (403 status code): 3.3.1.3. Specifying status codes
- email users, security risks of: 9.1.2. False Identities
- files
- changing with chmod command: 15.1.1. Application Permissions
- data storage: 8.5.3. File Permissions
- server running as user: 10.1.2. Write Permissions
- hash files, read/write: 10.2.1. DB_File
- text files, writing to: 10.1.2. Write Permissions
- phone directory interface (consolidated), using CGI middleware: 14. Middleware and XML
- PHP programming language: 1.3.2. Alternatives to CGI
- physical text wrapping: 4.2.5. The <TEXTAREA> Tag
- PID, checking for child processes: 15.2.3. Is It Open?
- pie charts
- commute_pie.cgi script: 13.4.2. GD::Graph
- creating with GD::Graph::pie module: 13.4.2. GD::Graph
- three dimensional, creating with GD::Graph::pie3d: 13.4.3. GD::Graph3D
- pipes
- email messages through Perl scripts: 9.7.2. Forwarding to Another User
- to external applications: 8.2.1. Calling External Applications
- checking execution within: 15.2.3. Is It Open?
- mail clients: 9.1.1. Mailers and Shells
- replacing with fork: 8.2.4. fork and exec
- security risks: 8.2.2. User Input and the Shell
- opening to fgrep command for reading: 12.1. Searching One by One
- processes, checking status with kill function: 15.2.3. Is It Open?
- pipes (|), delimiting files with: 10.1.4. Delimiters
- plain buttons: 4.2.3.9. Plain buttons
- plus sign (+)
- encoding spaces in URLs: 2.1.3. URL Encoding
- keywords, separating in queries: 5.2.2.3. Index queries
- replacing spaces in URL text: 4.1. Sending Data to the Server
- XML elements: 14.3. Document Type Definition
- PNG images: 3.4.1. Check the Client Browser
- Chart::PNGgraph: 13.4.2. GD::Graph
- converting to GIF or JPEG: 13.5.2. Converting PNGs to GIFs or JPEGs
- features, added over GIF: 13.1.2. PNG
- generating with GD module: 13.3. Generating PNGs with GD
- linking to HTML pages: 3.4.1. Check the Client Browser
- point and line charts combination, creating with GD::Graph::linespoints module: 13.4.2. GD::Graph
- point charts, creating with GD::Graph::points module: 13.4.2. GD::Graph
- pointers to directories, CGI application organization and: 16.1.2. Use Directories to Organize Your Projects
- port numbers: 2.1.1. Elements of a URL
- ommitting in URLs: 2.1.2. Absolute and Relative URLs
- Portable Network Graphic image format (see PNG images)
- POSIX module: 10.1.3.2. Named temporary files
- POST requests: 2.3.1.4. POST
- 300-level status code responses to: 3.3.1.3. Specifying status codes
- Content-length and Content-type fields: 2.3.2.2. Content-Length
- Content-length header, referring to: 3.1.1.1. STDIN
- form data to URLs with keywords: 5.2.2.3. Index queries
- limiting size of: 5.1.1. Denial of Service Attacks
- mailing list form (example): 4.1. Sending Data to the Server
- options, including in: 4.1. Sending Data to the Server
- query strings, accessing from URLs: 4.3. Decoding Form Input
- query strings and: 5.2.2.2. POST and the query string
- query_string method and: 5.2.1.4. query_string
- URL tampering and: 8.2.5. Trusting the Browser
- PostScript image file format: 13.5.3. PDF and PostScript Support
- pound-bang (#!) line: 15.1.2. The Pound-Bang
- -c flag and: 15.3.1. Check Syntax
- PPM (Perl Package Manager): 10.4.1. Using DBI
- Pragma: no-cache header: 3.4.3. Restricting Image Hijacking
- pragmas
- coding style guide, covering in: 16.2. Coding Guidelines
- depending on variable scope, Embperl module: 6.4.2.2. Variable scope
- preferences for web document use, storing as cookies: 11.3. Client-Side Cookies
- prefixes, removing from words: 12.3. Inverted Index Search
- prepare command, passing SQL query to: 10.4.1.3. Database querying
- print statements
- generating HTML output with: 5.4.1. Lots of print Statements
- here documents: 1.2.1. Sample CGI
- printenv command: 6.2.2. Format
- printing
- Embperl blocks: 6.4.2.1. Embperl code blocks
- HTTP headers in error handling: 5.5.3. Error Subroutines
- image files, determining increments: 3.4.1. Check the Client Browser
- multiple items in lists: 5.3.3. Standard HTML Elements
- Perl data structures with Data::Dumper: 15.3.4. Dumping Variables
- related URLs: 14.5. CGI Gateway to XML Middleware
- Set-Cookie header: 11.3.1. Setting Cookies
- status codes with Status header: 3.3.1.3. Specifying status codes
- to STDOUT: 1.2. Introduction to CGI
- 3.1.1.2. STDOUT
- tag: 5.3.3. Standard HTML Elements
- variable values: 15.3.4. Dumping Variables
- process identifier (PID): 8.2.4. fork and exec
- processes
- child processes
- checking PID of: 15.2.3. Is It Open?
- creating with pipe connected: 8.2.4. fork and exec
- creating separate to handle CGI scripts: 1.3.2. Alternatives to CGI
- local, as clients: 14.1. Communicating with Other Servers
- parent processes: 8.2.4. fork and exec
- in pipes, checking status with kill function: 15.2.3. Is It Open?
- remote, as servers: 14.1. Communicating with Other Servers
- processing images, Image::Magick module: 13.5.4. Image Processing
- procmail: 9.7. procmail
- forwarding email messages to another user: 9.7.2. Forwarding to Another User
- program logic, bracket pairs in Embperl: 6.4.2.1. Embperl code blocks
- programming in the large (see strategic programming)
- programming languages
- ASP, support for: 1.3.2. Alternatives to CGI
- code file extensions: 2.6.2. Internationalization
- content negotiation and: 2.6. Content Negotiation
- exchanging data between: 7.3.1. WDDX
- interpreted languages, delays caused by: 17. Efficiency and Optimization
- negotiation for static documents: 2.6.2. Internationalization
- programs, CGI
- 503 Service Unavailable status responses: 3.3.1.3. Specifying status codes
- address book: 10.4.2.2. Address book CGI script
- application (example): 1.2.1. Sample CGI
- architectural guidelines (see architectural guidelines, CGI programs)
- bookmarklets, using with: 7.4.2. Bookmarklets and CGI
- buffering, server handling of: 3.3.2. Complete (Non-Parsed) Headers
- configuring: 1.4.1. Configuring CGI Scripts
- 1.4.1.2. Configuring by extension
- Content-type field, use in: 2.4.2.3. Content-Type
- cookies, testing for: 11.3.2. Testing for Cookies
- cookie_test.cgi script: 11.3.2. Testing for Cookies
- current_time.cgi script: 6.3.1. Syntax
- data, converting to JavaScript: 7.3.1. WDDX
- debugging (see debugging)
- 15.3.5.3. ActiveState Perl debugger
- common errors: 15.1. Common Errors
- debugging tools: 15.3. Debugging Tools
- Perl coding techniques for avoiding bugs: 15.2. Perl Coding Techniques
- development (see development, CGI programs)
- coding guidelines: 16.2. Coding Guidelines
- disabling file uploads and limiting POST request size: 5.1.1. Denial of Service Attacks
- dynamic generation of web server response: 1.2. Introduction to CGI
- efficiency and optimization: 17. Efficiency and Optimization
- FastCGI, using: 17.2. FastCGI
- mod_perl, using: 17.3. mod_perl
- Perl techniques for: 17.1. Basic Perl Tips, Top Ten
- email, sending with: 9. Sending Email
- email addresses: 9.2. Email Addresses
- procmail: 9.7. procmail
- security: 9.1. Security
- structure of Internet email: 9.3. Structure of Internet Email
- embedding output from: 6.2.6. Executing CGI Programs
- embpcgi.pl script: 6.4.1.3. embpcgi.pl
- encoding/decoding tab-delimited data and end-of-line characters: 10.1.4. Delimiters
- env_info.cgi script: 3.2.2. Examining Environment Variables
- output: 3.2.2. Examining Environment Variables
- environment variables: 3.2. Environment Variables
- examples: 1.2.1. Sample CGI
- listing for specific web server: 3.2.2. Examining Environment Variables
- examples: 3.4. Examples
- image hijacking, restricting: 3.4.3. Restricting Image Hijacking
- image, sending after checking browser media formats: 3.4.1. Check the Client Browser
- user authentication and identification: 3.4.2. User Authentication and Identification
- feedback_sendmail.cgi script: 9.4.1. Command-Line Options
- file handles: 3.1.1. File Handles
- gateway to XML middleware: 14.5. CGI Gateway to XML Middleware
- graphic images, creating: 13. Creating Graphics on the Fly
- image data, outputting: 13.2. Outputting Image Data
- mixed graphs (commute_mixed.cgi): 13.4.2. GD::Graph
- pie charts (commute_pie.cgi): 13.4.2. GD::Graph
- grep_search1.cgi script: 12.1. Searching One by One
- how they work: 3. The Common Gateway Interface
- HTML, alternatives for outputting: 5.4. Alternatives for Generating Output
- HTTP header lines, returning: 1.2. Introduction to CGI
- indexed_search.cgi script: 12.3.1. Search Application
- music_browser.cgi script: 7.3.2. Example
- output: 3.3. CGI Output
- complete (non-parsed) headers: 3.3.2. Complete (Non-Parsed) Headers
- partial headers: 3.3.1. Partial Headers
- printing to STDOUT: 3.1.1.2. STDOUT
- parameters
- accessing: 5.2.2. Accessing Parameters
- modifying within: 5.2.2.1. Modifying parameters
- parse_form_data (example): 4.3. Decoding Form Input
- parsing HTML documents and inserting identifiers: 11.1. Query Strings and Extra Path Information
- permissions to run, forbidden (403) status code and: 3.3.1.3. Specifying status codes
- requests for static HTML page, handling
- unique identifiers: 11.1. Query Strings and Extra Path Information
- security: 8. Security
- encryption: 8.3. Encryption
- trusting browsers: 8.2.5. Trusting the Browser
- user input, handling: 8.2. Handling User Input
- separate process, requirement for execution: 1.3.2. Alternatives to CGI
- shoppe.cgi: 11.2. Hidden Fields
- checkout page: 11.2. Hidden Fields
- shopping cart page: 11.2. Hidden Fields
- welcome page: 11.2. Hidden Fields
- SSL/TLS connections and: 2.2. HTTP
- status codes: 2.4.1. The Status Line
- 3.3.1.3. Specifying status codes
- strict command, advantages of use: 1.2.1. Sample CGI
- taint mode, reasons to use with: 8.4.4. Why Use Taint Mode?
- text files (see text files)
- URLs for: 1.2.2. Invoking CGI Scripts
- 2.1.1. Elements of a URL
- projects, home pages for: A.5. Project Home Pages
- protected realm, indicating with 401 status code: 3.3.1.3. Specifying status codes
- /protected (URL paths): 2.3.2.4. Authorization
- protocol and version string (status line): 3.3.2. Complete (Non-Parsed) Headers
- protocols
- cookie handling by browsers: 11.3. Client-Side Cookies
- header (web server response), listing in: 1.2. Introduction to CGI
- HTTP (see HTTP)
- IP (Internet Protocol): 6.2.3. Environment Variables
- SMTP: 9.6. Perl Mailers
- SSL (Secure Socket Layer)POST requests: 2.2. HTTP
- in URLs: 2.1.1. Elements of a URL
- proxies: 2.5. Proxies
- image caching and: 3.4.3. Restricting Image Hijacking
- multiple users connecting via: 11. Maintaining State
- ptkdb, PerlTk debugger: 15.3.5.2. ptkdb
- PUT method: 2.3.1.1. PUT and DELETE
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Copyright © 2001 O'Reilly & Associates, Inc. All Rights Reserved.