NT ACCOUNT DOCS - MISC



MISC

Do you use Windows NT or Windows 2000?
We currently use Windows NT 4.0 for its Virtual NT accounts.  We will be upgrading to Windows 2000 when tests make it 100% viable and safe.

Do you use IIS 4.0 or 5.0?
We are currently using IIS 4.0. When servers are upgraded to Windows 2000 we will be using IIS 5.0.

What FTP server do you use?
We use ServU as our FTP server.
 

COM OBJECTS
What COM objects do you support?

We support many commercial COM objects. The COM objects we support include the following:

Do I have to buy a license for the COM objects you support?
No.

I have my own COM objects. Can I run them on your shared servers?
First, you must submit all available code to us for approval. If our engineers approve the COM object code, they will install it for you but your site will be placed into its own memory space. This is to prevent problems with the COM object from affecting other sites on the same server. Please note that this will slow down your site, although, it is not noticeable except on very high traffic sites.

I have written a COM object in Visual Basic. Is this ok to run on your shared servers?
Yes, many customers choose to write their objects in Visual Basic. However, the same rules apply to VB COM objects as described above.


PERL
What version of Perl do you use?

We use the latest build version of Activestate's Perl 5+.

Why can't I get my Perl script to work with my NT account?
Although the Perl language is very similar between NT and UNIX, there are still some subtle differences. The biggest change is that the perl interpreter does not need to be called in the way it is handled in UNIX. In order to have Perl recognize a script, all you have to do is have the file extension end in either .pl or .cgi. This will automatically invoke the Perl interpreter.

Where is the path to the perl binary?
This is unnecessary under NT. In fact, calls to the perl binary at the beginning of a script will cause the script to fail. If you have a UNIX script you are attempting to port to NT, please make sure that the Perl binary is not called at the beginning of the script.

What PPM modules do you have installed?

I can't get my perl program to call another Perl program.
In order to call your other perl program, you need to initiate the Perl interpreter by using the following system command syntax. Remember that this must be within your HTTP directory structure otherwise security will not allow the script to be run (for example, you can not run it from your FTP directory).

system('\path\to\script.pl')

I keep receiving a "Parse Exception" error when attempting to use a PPM?
This usually means that an installed PPM is out-of-date with the current build of Perl that is installed. We cannot guarantee customers that third party PPMs will operate with every version of Perl that is installed. 

I am still experiencing problems with Perl. How do I know it is working on my site?
Cut and paste the following perl code into a file and call it dumpvars.pl. Place it in your HTTP directory and call it through a browser. If perl is working correctly, you should see a list of environmental variables displayed. If you do not, please contact Hostcentric support.

PLEASE NOTE: - this is an NT based Perl script. Do NOT use it to test Perl on a UNIX account.

&get_form_data;

print "Content-type: text/html\n\n";
print "\n";
print "\n";
print "\n";
print "\n";
print "\n";
foreach $key (keys(%formdata))
{
    print "$key: $formdata{$key}\n";
}
print "\n";

sub get_form_data {

    if($ENV{'REQUEST_METHOD'} =~ /get/i)
    {
        @pairs=split(/&/,$ENV{'QUERY_STRING'});
    }
    else
    {
        $buffer = "";
        read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
        @pairs=split(/&/,$buffer);
    }
    foreach $pair (@pairs)
    {
        @a = split(/=/,$pair);
        $name=$a[0];
        $value=$a[1];
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ s/~!/ ~!/g;
        $value =~ s/\+/ /g;
        $value =~ s/(\r)+/\-\-/g;
        $value =~ s/\n+//g;
        push (@formdata,$name);
        push (@formdata,$value);
    }
    %formdata=@formdata;
    %formdata;
}

Where can I get more information on Active Perl for NT?
See http://www.activestate.com/ActivePerl