ActivePerl

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.

New to Perl on Windows. New to programming.

Question: 

I've installed ActivePerl. What now?

Answer: 

Go to Start | Run. Enter 'CMD' in the Open field and press Enter. This will open up a DOS command prompt. At the prompt, type:

  C:\>perl -v

You should see version information for ActivePerl.

To evaluate perl code on the command line, you can do this:

  C:\>perl -e "print \"hello world\";"

Note: you must escape double quotes in the code when using -e.

To run a script:

  C:\>perl scriptname.pl

Perl.org maintains the defacto standard resources for Perl developers:

http://learn.perl.org/library/beginning_perl/

What *not* to do:

"PerlScript" is not the same as "Perl script". "PerlScript" is a special version of ActivePerl for certain uses inside IIS servers. If you encounter references to "PerlScript" in the manuals, you can skip them until after you have mastered IIS setup.

PPM is not a Perl Editor. Skip PPM for now, and come back to it when you find you need to add additional features to ActivePerl.

OLE Browser is not a Perl Editor. OLE Browser was just an example of how to do something that isn't a good idea with today's internet. If your version of ActivePerl still has the icon for OLE Browser, you can ignore it and come back to it much, much later.

If you *are* looking for an editor / development environment for Perl, you should try ActiveState's Komodo:

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