ActivePerl

PPM4 fails on Windows systems for users with non-ASCII usernames

Question: 

PPM4 fails on Windows systems where users have non-ASCII characters in their username and/or there are non-ASCII characters in common paths. Is there a work-around for this?

Answer: 

*******************
This issue has been resolved in ActivePerl 820 and higher
*******************

PPM in ActivePerl 819 on Windows fails to start up for users with non-ASCII user names. The error message displayed is something like:

  ppm gui failed: DBI connect('dbname=C:\Documents and Settings\
    \Application Data/ActiveState/ActivePerl/ppm-MSWin32-x86-multi-thread-5_8.db',
    '',...) failed: unable to open database file(1)

This is caused by limitations in Perl's handling of Unicode and we plan to address this issue in the upcoming release. The recommended workaround is to tell PPM to access its state database from a path consisting of plain ASCII characters only. It is achieved by setting the ACTIVEPERL_PPM_HOME environment variable to the name of a directory that ppm should use. For instance:

   C:\> set ACTIVEPERL_PPM_HOME=C:\Perl\Temp
   C:\> ppm

Unattended installation of ActivePerl in a custom directory on Solaris

Question: 

I need to install ActivePerl in a custom directory on Solaris without any user interaction. How can I do that?

Answer: 

There are two ways to install ActivePerl in a custom directory on Solaris such that the installation can be run unattended.

The first is to use the "--license-accepted --prefix /path/to/install/to" arguments to the install.sh provided in the Tar/Gzip ActivePerl package:

gnutar zxf ActivePerl-solaris-package.tar.gz
cd ActivePerl-directory
sh install.sh --license-accepted --prefix /opt/ActiveState/ActivePerl

The above can be used in a shell script, for example.

Alternatively, you can make your own Solaris package. This has the benefit of registering ActivePerl with the Solaris packaging system, making upgrades easier in some cases. A good tutorial on making Solaris packages can be found here:

http://www.sunfreeware.com/pkgadd.html

Why doesn't the PPM website work?

Question: 

I'm trying to browse the PPM website. Why am I getting an Internal Server Error?

Answer: 

The PPM server has two interfaces. The first is a SOAP interface that is used by the PPM client, at this url:

http://ppm.activestate.com/cgibin/PPM/ppmserver.pl?urn:/PPMServer

The second is a regular web interface for your browser. The SOAP interface uses the URL shown above and will give an error if you try to access it using a browser. The URL for the regular web interface is:

http://ppm.activestate.com/

PPM 4 can't find package widget::statusbar

Question: 

When I try to run PPM 4 in graphical mode it complains that it can't find the widget::statusbar package and exits. How do I make this work?

Answer: 

The problem is likely that you have the PERL_TCL_DLL environment variable set. This variable is set when you are using the Tkx GUI toolkit. PPM 4 also uses Tkx, but has its own version of Tkx bundled; hence, the environment variable points PPM 4 away from its version and to your ActiveTcl installation, which doesn't have all of the files necessary to run PPM 4.

The solution is to unset that environment variable before running PPM 4.

What version of ActivePerl will work with my Mac with an Intel processor?

Question: 

What version of ActivePerl will work with my Mac with an Intel processor?

Answer: 

ActivePerl 5.8.8.817 and above are built as Universal binaries for Mac OS X, meaning that it will run efficiently on both Intel and PowerPC architecture Macs. Versions before 5.8.8.817 were built for PowerPC only. These versions will usually run on an Intel Mac, but will use the PowerPC compatibility layer in OS X, and will run fairly slowly. Therefore, we recommend using 5.8.8.817 or above if your Mac has an Intel CPU.

What is the ECCN for ActivePerl?

Question: 

What is the Export Control Classification Number for ActivePerl?

Answer: 

The Export Control Classification Number for ActivePerl is EAR99 (self-classified). For a brief description of EAR99 and information on the difference between EAR99 and NLR (No License Required), see:

http://www.census.gov/foreign-trade/faq/reg/reg0031.html

Bioperl on ActivePerl

Question: 

How do I make Bioperl work with ActivePerl?

Answer: 

There is an extensive set of Perl modules available for bioinformatics, and bioperl is probably the best collection around. However, we don't have the latest version in our PPM repository, because it is difficult to build automatically.

However, the bioperl folks have come to the rescue, and have detailed instructions on how to use their PPM repository to install the latest version. Good on them! If you need bioperl, just look there and set yourself up -- it makes updating a snap.

Perl's magic sort variables: $a and $b

Question: 

When I call my variables $a or $b they don't do what I expect. What's up?

Answer: 

Here's an often-used, but little-remembered fact about Perl that has caused some confusion on more than one occasion: $a and $b are special.

They are (among other things) used in custom sort blocks, but unfortunately the Perl documentation uses them in many examples. I say that it is unfortunate because the use strict pragma seems to ignore these two variables. If you do the following:

use strict;

$a = "foo";
$b = "bar";
$c = "baz";
$d = "quux";

You will see that only $c and $d are flagged as errors.

My advice is to avoid using $a and $b except for custom sort blocks and other places that require their use.

Double-clicking perl scripts -- console window dissapears immediately.

Question: 

When I double-click my perl program, the console window disappears before I can see the output.

Answer: 

If you just double-click on the program file in Windows, the console window it opens for output will close as soon as the script finishes. It is best to run Perl scripts directly from the command-line.

For example, open a console window (DOS prompt) and execute this command:

  perl C:\perl\eg\example.pl

The console window will stay open allowing you to see the output:

  Hello from ActivePerl!

If you're interested in a development environment that allows you to execute scripts in a GUI, check out Komodo:

http://activestate.com/Products/Komodo/

PerlScript OLE Browser and Windows XP SP2

Question: 

Why does the PerlScript OLE Browser not work on Windows XP (SP2)?

Answer: 

Internet Explorer on Windows XP (SP2) only executes PerlScript code if "Initialize and script ActiveX controls not marked as safe" in 'Local intranet zone' is set to "Enable". It does not seem to work when set to "Prompt".

Of course you should not enable this option unless you are really sure that you don't have any malicious HTML files in your local intranet zone.