use base qw(Exporter);
BEGIN {
- $VERSION = '2.07';
+ $VERSION = '2.24';
$PREFERRED_CGI_MODULE ||= 'CGI';
@EXPORT = ();
@EXPORT_OK = qw(get_form
# print_content_type();
# print_content_type('text/plain);
sub print_content_type {
- my ($self, $type) = ($#_ >= 1) ? @_ : ref($_[0]) ? (shift, undef) : (undef, shift);
+ my ($self, $type, $charset) = (@_ && ref $_[0]) ? @_ : (undef, @_);
$self = __PACKAGE__->new if ! $self;
if ($type) {
} else {
$type = 'text/html';
}
+ $type .= "; charset=$charset" if $charset && $charset =~ m|^[\w\-\.\:\+]+$|;
if (my $r = $self->apache_request) {
return if $r->bytes_sent;
$r->send_http_header;
$r->print($mesg);
} else {
- # not sure of best way to send the message in MP2
+ $r->content_type('text/html');
+ $r->print($mesg);
+ $r->rflush;
}
} else {
print "Status: $code\r\n";
### get file info
my $stat;
- if ($js_file && $js_file =~ m|^(\w+(?:/+\w+)*\.js)$|i) {
+ if ($js_file && $js_file =~ m|^/+?(\w+(?:/+\w+)*\.js)$|i) {
foreach my $path (@INC) {
my $_file = "$path/$1";
next if ! -f $_file;
header. Trying to print -E<gt>content_type is an error. For clarity,
the method -E<gt>print_content_type is available.
+ $cgix->print_content_type;
+
+ # OR
+ $cgix->print_content_type('text/html');
+
+ # OR
+ $cgix->print_content_type('text/html', 'utf-8');
+
=item C<-E<gt>set_cookie>
Arguments are the same as those to CGI->new->cookie({}).
or a shortened name which will be looked for in @INC. (ie /full/path/to/my.js
or CGI/Ex/validate.js or CGI::Ex::validate)
+ #!/usr/bin/perl
+ use CGI::Ex;
+ CGI::Ex->print_js($ENV{'PATH_INFO'});
+
=item C<-E<gt>swap_template>
This is intended as a simple yet strong subroutine to swap
See also L<CGI::Ex::Validate>.
-=head1 AUTHOR
-
-Paul Seamons
-
=head1 LICENSE
This module may be distributed under the same terms as Perl itself.
+=head1 AUTHOR
+
+Paul Seamons <perl at seamons dot com>
+
=cut