ActiveState Community

activeperl

Perl IO redirection problems on Windows

OS: Windows | Product: ActivePerl | tags: activeperl io Perl pipe redirect windows
Question: 

On Unix I can run commands like "foo.pl | bar.pl" and have the output of foo.pl be the input of bar.pl. This doesn't seem to work on Windows. How can I make this work?

Answer: 

The Windows command interpreter cmd.exe does not support IO redirection for programs started via shell associations, like those created for .pl files during the ActivePerl installation. It only works for .bat, .com, .cmd, and .exe files.

You need to write:

perl foo.pl | perl bar.pl

Or if the files are not in your current directory but are on the PATH:

perl -S foo.pl | perl -S bar.pl

Alternatively, you can wrap your .pl files into .bat scripts using pl2bat:

pl2bat foo.pl
pl2bat bar.pl

Then run them as:

a | b

This is also the case for > and <.

DST and ActivePerl

OS: All / Any | Product: ActivePerl | tags: activeperl dst time
Question: 

Will ActivePerl handle the new US DST changes?

Answer: 

ActivePerl relies on the underlying operating system for any date information. Providing the operating systems are patched to take into account the new DST laws there should be no issues.

Please note that you will want to ensure that you check any extra modules (beyond the core and enterprise edition modules that we provide) that are used are up to date.

For example:

DateTime::Timezone

This module needs updating, as it contains actual switchover times for various time zones. The module is updated frequently on CPAN to keep it in sync with the Olson timezone database and the latest version contains the updated rules.

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

OS: Windows | Product: ActivePerl | tags: activeperl multibyte ppm4
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

OS: Solaris | Product: ActivePerl | tags: activeperl automation install unattended
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

PPM 4 can't find package widget::statusbar

OS: All / Any | Product: ActivePerl | tags: activeperl environment gui PPM ppm4 vpm
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.

Where can I get past versions of ActivePerl?

OS: All / Any | Product: ActivePerl | tags: activeperl archive ftp
Question: 

Where can I get past versions of ActivePerl? Is there a ftp server for ActivePerl?

Answer: 

You can get past versions of ActiveState products from our ftp server:

ftp://ftp.activestate.com/

You can also access the ftp repository via the web at:

http://downloads.activestate.com/

This can be useful if you are behind a firewall that does not allow ftp.

What is the ECCN for ActivePerl?

OS: All / Any | Product: ActivePerl | tags: activeperl ear eccn export
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

OS: Windows | Product: ActivePerl | tags: activeperl bioinformatics bioperl
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.