How can I install Perl on Windows 8? - perl

I want to use Perl for web development. I have tried to find out how to install it but when I tried to get ActivePerl it wouldn't install on Windows 8. Can anyone tell me how to install Perl on Windows 8? I can go for ActivePerl, Strawberry Perl, or any other Perl release as long as it will work on Windows 8.

As you already know, there are two generally used Perls in the Windows World:
ActivePerl from ActiveState.
Strawberry Perl which is an open source project started by Adam Kennedy -- a big honcho in the Perl community.
What's the big difference between them:
ActiveState Perl was designed to be a Perl solution specifically for Windows (and later both Macs and Linux). ActiveState offers a very nice Perl IDE called Komodo and has excellent Perl support. All you need is some cash. After all, that's how ActiveState makes its money. Of course, you can use EPIC instead of Komodo and get a lot of help from StackOverflow too.
ActiveState comes with the default Win32 modules already installed and also supplies a Perl Package Manager (PPM) instead of using CPAN for installing other CPAN modules. PPM has a nice GUI interface, and its modules have already been precompiled and tested. It also is a bit better than CPAN with dependency tracking. Of course, there might be some CPAN modules not in PPM, and that can be an issue.
Strawberry Perl was started to be more Open Source oriented than ActiveState. By default, Strawberry Perl comes with a Make program and a complete development environment, so that almost all CPAN modules are available and can be installed. This is because Strawberry Perl comes with the complete MinGW package which includes Make and a gcc compiler. The idea was to give Perl people who mainly use Linux and Unix machines a similar feeling solution for Windows.
In reality, both are pretty similar. ActiveState comes with the Win32 modules, but you can install them as needed on Strawberry Perl via CPAN. Strawberry Perl works with CPAN, but ActiveState gives you complete directions for installing the same MinGW environment that Strawberry Perl uses (via their PPM) which allows you to install all CPAN modules that Strawberry Perl can install. ActiveState comes with a GUI Perl Documentation that includes all installed Perl modules, but the perldoc command gives you the same information anyway.
So, if you're more Linux/Unix oriented and want something that feels very similar on Windows, go with Strawberry Perl. If you are using Perl as a Win32 solution, go with ActiveState. And, don't worry about choosing the wrong one. In the end, Strawberry Perl can include all those nice Win32 modules, and ActivePerl can use CPAN.

There is another SO posting that you might find what you're looking for here. A similar posting. In sum, I get the impression that Strawberry Perl would work alright, and so would ActivePerl. I rather liked Strawberry Perl, and it was so long ago that I installed it on my wife's Windows Vista machine that I can't remember why I chose it over ActivePerl, ymmv. CHEERS!

Related

Can't install Carp-1.25

I have installed Strawberry Perl for Windows, "DWIM Perl" from: http://dwimperl.com/.
I would like to use Carp. So I have downloaded Carp-1.25 from CPAN, un-TAR-ed it, and ran nmake.
I get:
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
to undefined at F:/Dwimperl/perl/lib/ExtUtils/Install.pm line 1208
NMAKE : fatal error U1077: 'F:\Dwimperl\perl\bin\perl.exe' : return code '0x2'
Stop.
Note that it's not a Windows nmake problem, I get a similar error when running make in cygwin.
My system: MS Windows 7.
(By the way, I have been running ActiveState Perl fine, and there, PPM downloads and installs Carp with no problem.
The reason I've switched to Strawberry/DWIM Perl, is that I'd like to run a debugger, and Padre's latest version on ActiveState is 0.86, which is buggy. So I've installed DWIM Perl since I'd like to use Padre 0.92).
Carp is a core module so it be included with your Perl installation. Just try use Carp in your code.
and ran nmake.
why use nmake? DWIMPerl( StrawberryPerl) is not known to come with nmake, generally they come with dmake, and AFAIK, their documentation reflects this
Carp comes with your Perl distribution, it is a core module. corelist (offline version) shows you the standard modules that come with various Perl versions. You'll see that Carp comes with all Perl versions as far back as 5. There's nothing to download. Just use Carp. One of the hard things to understand about Perl for many people is that certain functionality doesn't exist except in modules, but these modules come with Perl anyway. I've seen a lot of people use system cp or system find because they didn't realize that Perl comes with a module to copy files or to search a file in a directory tree. It's in a module that you have to use.
Try using the cpan command to download your modules. The cpan command will search for, download, compile, test, and install any module you need. One of the reasons people use Strawberry Perl over ActivePerl is that, historically, the cpan command worked better on Strawberry Perl than on Active Perl.

How compatible is ActivePerl with CPAN modules?

I've done some research and it seems like ActivePerl had issues with earlier releases of it's product with certain CPAN modules not installing properly. However, I'm running the 5.14.x version and I've not had any problems.
According to some quotes I've seen:
ActivePerl is 100% compatible with the reference distribution of Perl.
Code tested with ActivePerl will run on any Perl installation that has the appropriate extensions installed.
I assume that the first statement refers to the standard modules you get with the Perl installation and for the second, I'm not sure what they are saying?
In any event, is there any way to find out how compatible ActivePerl is with the current CPAN modules or is that something that isn't known? I just don't want to spend time with it, only to have to switch to something like Strawberry Perl next month to avoid CPAN module build failures for the more common modules.
If ActivePerl is compatible with say 80% or higher with the CPAN modules I would feel more comfortable about using it, but I couldn't find any information on this.
I doubt a generic statistic will be that useful. In general I would expect all "pure perl" modules should work more or less out of the box. Keep in mind however that certain perl modules really are interfaces to lower level linux/unix style shared libraries (dlls in Windows terms), where availability is less certain. In my experience (having written a few perl applications being hosted on Windows, against my advice) most things will work, and/or are fairly easy to work around, and both ActiveState and Strawberryperl seem to have decent support for most common modules.
The first statement doesn't refer to modules at all. It says that ActivePerl is not based on Perl, it is Perl. As such, anything that will run on Perl will also run on ActivePerl.
This also means that all modules on CPAN are compatible with ActivePerl since ActivePerl is Perl.
Whether a module is compatible with Windows is an entirely different question, and it can only be answered on a module-by-module basis.
The second statement points out that if you had a script or module that runs on a pristine ActivePerl, it might not necessarily run on a pristine Perl because ActiveState includes modules in its distribution that aren't core modules (e.g. LWP). But all you'd need to do to make the script or module run on the other distribution is to install those modules.
You can check on the availability of PPM modules at http://code.activestate.com/ppm/. For example, one module that doesn't work well through PPM is PAR::Packer.

How do I install a Perl module that's on Sourceforge and not CPAN using ActiveState?

Trying to install Ptkdb on Windows 7 with Perl 5.12.2 (ActiveState) — how do I do this?
ptkdb is available on CPAN. It's also available for Perl 5.12 in the bribes repository:
ppm install http://www.bribes.org/perl/ppm/Devel-ptkdb.ppd
For pure Perl modules, all you need to do is run the Makefile.PL that comes with the module. If the module is a mix of Perl and C, you will need to get a C/C++ compiler for Windows that works with your distribution of Perl. I would recommend asking around for a Windows binary first if it's a mixed module.

Windows equivalent of perl modules required (not available in activestate ppm) such as file::finder

I'm attempting to import code written in linux into eclipse's perl plugin 'epic', and have installed activestate perl in windows. Most of the modules have an activestate equivalent, but some of them I can't find in ppm. Does anyone know how I can get the following modules so that the code can compile?
File::Finder
Spreadsheet::WriteExcel::Utility
Sybase::CTlib
Sybase::DBlib
Sybase::Xfer
Template
Template::Constants
DBD::Sybase
File::Rsync
PerlIO/gzip
The best option is probably to remove Active Perl and replace it with Strawberry Perl. Because the Strawberry Perl installation includes a compiler, you are able to install most CPAN modules using the standard CPAN shell.
Trouchelle to the rescue!
http://trouchelle.com/perl/ppmrepview.pl?l=Template-Toolkit&v=10
The other modules cannot be built because of test failures or missing libraries.
i downloaded the File:finder module from cpan and was able to install successfully in the windows.
Only difference is we need to use nmake instead of make.
You can download perl modules from https://metacpan.org/ and then compile the same in windows.

What are the differences between Vanilla Perl and Strawberry Perl?

Strawberry Perl is "Open Source Perl for Windows that is exactly the same
as Perl everywhere else". Vanilla Perl "provides a Perl distribution that is as close to the Perl core as possible." Strawberry Perl is built on Vanilla Perl.
Both distributions come with a C compiler so that perl modules from CPAN that use XS can be built.
What are the differences between Strawberry Perl and Vanilla Perl?
Just read the explanation on the Vanilla Perl homepage
Vanilla Perl Series
The Vanilla Perl series provides a
Perl distribution that is as close to
the Perl core as possible. If
necessary, it may include
win32-specific fixes.
Vanilla Perl is experimental and is
not intended for production purposes.
It is targeted to master-level Win32
Perl developers and those who wish to
experiment with building their own
custom Win32 Perl distributions.
Vanilla Perl releases are numbered
only as sequential 'builds' and will
not follow any alpha/beta/release
plan. This means incremental builds
may be less stable than previous
builds as new release configurations
are tested.
And
Strawberry Perl Series
The purpose of the Strawberry Perl
series is to provide a more practical
Win32 Perl release for experienced
Perl developers to experiment and test
the installation of various CPAN
modules under Win32 conditions, and to
provide a useful platform for
experienced Perl developers to start
doing real work.
In addition to the modules in Vanilla
Perl, Strawberry will also include the
entire dependency tree for
Bundle::CPAN, as well as an additional
set of upgraded versions of dual
CPAN/core modules that have
win32-specific fixes.
The answer is that often Perl distros come with non-core modules. ActiveState in particular is known for doing this. The non-core modules improve usability quite a bit.
Vanilla is the core distro. Strawberry comes with the standard non-standard modules. ;-)
As per Vanilla Perl home page:
In addition to the modules in Vanilla Perl, Strawberry will also include the entire dependency tree for Bundle::CPAN, as well as an additional set of upgraded versions of dual CPAN/core modules that have win32-specific fixes.
From Wiki:
Strawberry Perl is part of the Vanilla Perl Project