[Chicago-talk] Fw: Mason question

Andy_Bach at wiwb.uscourts.gov Andy_Bach at wiwb.uscourts.gov
Wed Oct 6 15:07:40 CDT 2004

Isn't the meeting about Mason?  Any guesses?

----- Forwarded by Andy Bach/WIWB/07/USCOURTS on 10/06/2004 03:07 PM -----

<barons at provide.net> 
Sent by: perl-win32-users-bounces at listserv.ActiveState.com
10/06/2004 02:57 PM

<perl-win32-users at listserv.ActiveState.com>

Mason question

I'm messing around with Mason and trying to get it to work
on Windoze, but seems not quite right. Has anyone had
success running this on w32? I set up my virtual root, and
the proper mappings to a .mason extension "just for
testing" and it will parse my html, but anything else won't
work. My example script below:

<title> Test Mason Page </title>

<body bgcolor="#ffffff">

<font face="Arial,Helvetica" size="4" color="#ff0000">

My test page <% 1900+(localtime)[5] %> 2 + 2 = <% 2 + 2 %>



I have my application mapping as:

C:\Perl\bin\Perl.exe c:\atm\cgi_handler.pl

And the example cgi_handler.pl is:

# This is a basic, fairly fuctional Mason handler.pl.
# For something a little more involved, check out

package HTML::Mason;

# Bring in main Mason package.
use HTML::Mason;

# Bring in ApacheHandler, necessary for mod_perl
# Uncomment the second line (and comment the first) to use
# Apache::Request instead of CGI.pm to parse arguments.
# use HTML::Mason::ApacheHandler;
# use HTML::Mason::ApacheHandler (args_method=>'mod_perl');

# Uncomment the next line if you plan to use the Mason
#use HTML::Mason::Preview;

use strict;

# List of modules that you want to use from components (see
# manual for details)
#{  package HTML::Mason::Commands;
#   use CGI;

# Create Mason objects
my $parser = new HTML::Mason::Parser;
my $interp = new HTML::Mason::Interp (parser=>$parser,

use CGI;
my $q = new CGI;

my (%args);

foreach my $key ( $q->param ) {
        foreach my $value ( $q->param($key) ) {
                if (exists($args{$key})) {
                        if (ref($args{$key})) {
                                $args{ $key} =
[@{$args{$key}}, $value];
                        } else {
                                $args{$key} = [$args{$key},
                } else {
                        $args{$key} = $value;

my $comp = $ENV{'PATH_TRANSLATED'};
$comp =~ s/\\/\//g;
my $root = $interp->comp_root;
$comp =~ s/^$root// or die "Component outside comp_root

print("Content-type: text/html\n\n");
$interp->exec($comp, %args);

I'm just trying to figure this out. Any help?

Perl-Win32-Users mailing list
Perl-Win32-Users at listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

More information about the Chicago-talk mailing list