diff --git a/eg/cgi/frameset.cgi b/eg/cgi/frameset.cgi
index ff730268e9c..fc86e92e9ac 100644
--- a/eg/cgi/frameset.cgi
+++ b/eg/cgi/frameset.cgi
@@ -47,7 +47,7 @@ sub print_html_header {
}
sub print_end {
- print qq{
Go to the documentation};
+ print qq{More Examples};
print $query->end_html;
}
diff --git a/eg/cgi/javascript.cgi b/eg/cgi/javascript.cgi
index 20496c0e80a..91c2b9e6482 100644
--- a/eg/cgi/javascript.cgi
+++ b/eg/cgi/javascript.cgi
@@ -1,6 +1,6 @@
#!/usr/local/bin/perl
-# This script illustrates how to use JavaScript to validage fill-out
+# This script illustrates how to use JavaScript to validate fill-out
# forms.
use CGI qw(:standard);
@@ -68,7 +68,7 @@ print header;
print start_html(-title=>'Personal Profile',-script=>$JSCRIPT);
print h1("Big Brother Wants to Know All About You"),
- strong("Note: "),"This page uses JavaScript and requires",
+ strong("Note: "),"This page uses JavaScript and requires ",
"Netscape 2.0 or higher to do anything special.";
&print_prompt();
@@ -97,7 +97,7 @@ sub print_prompt {
sub print_response {
import_names('Q');
print h2("Your profile"),
- "You are a ",b($Q::age)," year old ",b($Q::color,$Q::gender),".",
+ "You claim to be a ",b($Q::age)," year old ",b($Q::color,$Q::gender),".",
"You should be ashamed of yourself for lying so ",
"blatantly to big brother!",
hr;
diff --git a/lib/CGI.pm b/lib/CGI.pm
index 2ae635ead24..e53c9576777 100644
--- a/lib/CGI.pm
+++ b/lib/CGI.pm
@@ -28,8 +28,15 @@ $AUTOLOAD_DEBUG=0;
# 3) print header(-nph=>1)
$NPH=0;
-$CGI::revision = '$Id: CGI.pm,v 2.35 1997/4/20 20:19 lstein Exp $';
-$CGI::VERSION='2.35';
+# Set this to 1 to make the temporary files created
+# during file uploads safe from prying eyes
+# or do...
+# 1) use CGI qw(:private_tempfiles)
+# 2) $CGI::private_tempfiles(1);
+$PRIVATE_TEMPFILES=0;
+
+$CGI::revision = '$Id: CGI.pm,v 2.36 1997/5/10 8:22 lstein Exp $';
+$CGI::VERSION='2.36';
# OVERRIDE THE OS HERE IF CGI.pm GUESSES WRONG
# $OS = 'UNIX';
@@ -111,7 +118,7 @@ if ($needs_binmode) {
tt i b blockquote pre img a address cite samp dfn html head
base body link nextid title meta kbd start_html end_html
input Select option/],
- ':html3'=>[qw/div table caption th td TR Tr super sub strike applet PARAM embed basefont/],
+ ':html3'=>[qw/div table caption th td TR Tr super sub strike applet PARAM embed basefont style span/],
':netscape'=>[qw/blink frameset frame script font fontsize center/],
':form'=>[qw/textfield textarea filefield password_field hidden checkbox checkbox_group
submit reset defaults radio_group popup_menu button autoEscape
@@ -120,7 +127,7 @@ if ($needs_binmode) {
':cgi'=>[qw/param path_info path_translated url self_url script_name cookie dump
raw_cookie request_method query_string accept user_agent remote_host
remote_addr referer server_name server_software server_port server_protocol
- virtual_host remote_ident auth_type http
+ virtual_host remote_ident auth_type http use_named_parameters
remote_user user_name header redirect import_names put/],
':ssl' => [qw/https/],
':cgi-lib' => [qw/ReadParse PrintHeader HtmlTop HtmlBot SplitParam/],
@@ -135,6 +142,7 @@ sub import {
my ($callpack, $callfile, $callline) = caller;
foreach (@_) {
$NPH++, next if $_ eq ':nph';
+ $PRIVATE_TEMPFILES++, next if $_ eq ':private_tempfiles';
foreach (&expand_tags($_)) {
tr/a-zA-Z0-9_//cd; # don't allow weird function names
$EXPORT{$_}++;
@@ -947,8 +955,9 @@ sub header {
# if the user indicates an expiration time, then we need
# both an Expires and a Date header (so that the browser is
# uses OUR clock)
- push(@header,"Expires: " . &expires($expires)) if $expires;
- push(@header,"Date: " . &expires(0)) if $expires;
+ push(@header,"Expires: " . &date(&expire_calc($expires),'http'))
+ if $expires;
+ push(@header,"Date: " . &date(&expire_calc(0),'http')) if $expires || $cookie;
push(@header,"Pragma: no-cache") if $self->cache();
push(@header,@other);
push(@header,"Content-type: $type");
@@ -1018,14 +1027,17 @@ END_OF_FUNC
# $script -> (option) Javascript code (-script)
# $no_script -> (option) Javascript