banner



How To Install Perl Modules In Windows With Ppm

ActivePerl User Guide

Using PPM to install modules

  • NAME
  • DESCRIPTION
    • What is the PPM?
    • How practise I install PPM?
    • How practise I run PPM?
    • How do I use PPM?
    • PPM commands
    • Where are the packet repositories?
    • How practice I make a PPM package?
    • PPM, Proxies and Firewalls
  • AUTHOR AND COPYRIGHT

NAME

Using PPM to install modules

DESCRIPTION

How to install and upgrade modules using PPM

What is the PPM?

The Developer'south Packet Director (PPM), formerly known as the Perl Package Manager, provides a command line interface for managing your modules and extensions (packages). PPM is used to admission package repositories (or collections of packages on other machines), install and remove packages from your system, also as update previously installed packages with the latest versions.

The PPM 3.0 beta 2 release introduces a consummate rewrite of PPM, featuring many additions and improvements. To maintain compatibility and provide a polish migration path, PPM3 volition coexist with the current PPM.

How practise I install PPM?

PPM and PPM3 beta 2 are installed when you lot install ActivePerl.

How exercise I run PPM?

Earlier you run PPM or PPM3, you lot must either be connected to the Internet or have access to a local repository, like a hard drive or the ActiveState ActiveCD. If your Net connexion is via a firewall or proxy, you must set the environment variable "HTTP_proxy" to the proper name of the proxy server. If your proxy server requires a username and countersign, employ the environment variables "HTTP_proxy_user" and "HTTP_proxy_pass". Run across PPM, Proxies and Firewalls for more information.

PPM tin then exist run past typing ppm in a command prompt window. If you have PPM3 installed, you would blazon ppm3 in the command prompt window.

How practice I use PPM?

Quick start: at the PPM3 control prompt, type search * to get a listing of all available packages, then type install <package proper noun>, where <packet name> is the name of a package displayed by the search control. To list the packages you have previously installed using PPM3, use the query * command.

Those using PPM can type 'search' to get a list of all available packages, then type 'install <packagename>', where <packagename> is the proper name of a package displayed by the 'search' command. To listing the packages you have previously installed using PPM, use the 'query' command.

Note to PPM users: If you find the list of packages scrolls by too quickly, you may want to use the command 'set more <number>' to suspension the listing after <number> packages have been displayed. Use the 'set save' command to save this configuration for future PPM sessions.

The get-go time you run PPM or PPM3, the ActiveState parcel repository will exist your default repository. If you modify your default repository, that change will be saved. PPM3 users can tin can select a different repository with the repository command. PPM users will use the 'prepare' control. See Where are the package repositories? below.

PPM Commands

PPM3 Commands

Items in <angle brackets> are arguments that can exist used with the commands, while items in [square brackets] are optional elements. PPM3 will recognize and take shortened versions of the commands, every bit long as enough letters are typed to be recognized past PPM3. For example, "des" can be typed instead of "describe".

Describe

describe

Describes default/current parcel

describe <number>

Describes package <number> in the current search set

describe <range>

Describes packages in the given <range> from the current search prepare

describe <proper name>

Describes named package

describe <glob pattern>

Performs a new search using <glob blueprint>

When used, draw returns information well-nigh a packet, including the name of the package, the writer's proper name and a brief description (called an "Abstract") about the bundle. For example, when you enter:

describe libnet      

PPM3 will return:

=============================== Bundle 1     Proper noun: libnet  Version: 1.07.03   Author: Graham Barr Abstract: Drove of Network protocol modules Implementations: 	ane.sun4-solaris-thread-multi 	2.i686-linux-thread-multi 	3.MSWIn32-x86-multi-thread ===============================      

When the depict command is called without arguments, it returns information nigh the beginning bundle in the current search. If at that place is no default search set, you'll be prompted to use search to notice a package.

If describe is called with a numeric argument, that number is set equally the default parcel and the data nigh that parcel is returned. If the number given doesn't be, you'll be prompted to use search to find a bundle. Also, yous tin can apply depict to give descriptions of several packages. For case:

draw four-seven      

volition requite you descriptions of packages 4 through vii, in the current search request. You tin also enter:

describe 3-four,x      

to get information on packages iii, 4 and 10.

When the describe command is given a proper name with a wildcard (such as "*" or "?") it executes the search command with the given argument. With this, you can blazon something like describe Tk* and the search will give you the proper noun(s) of any packages that friction match your search parameters.

Run across Also: Properties

Exit

When you leave the PPM3 environment, the current settings are saved.

Encounter Besides: Quit

Aid

help

lists available commands

assist <command>

lists detailed help almost a specific control

The help command provides a brief clarification of the commands available inside PPM3. For help on a specific command, enter help followed by the command. For case, enter assist settings or aid gear up for a detailed description of the settings command.

There are some extra assistance topics congenital into PPM3. They tin can be accessed inside the PPM3 surroundings every bit follows:

HELP Control

Clarification

help ppm_migration

shows more than details virtually the changes from previous versions of PPM

help quickstart

an like shooting fish in a barrel-to-follow guide to getting started with PPM3

assistance prompt

provides a detailed explanation about the PPM3 prompt

help queryformat

gives the user actress tips and hints nigh making effective searches/queries in PPM3

Install

install

Installs default parcel

install <number>

Installs packages past a specific number

install <range>

Installs packages in the given numeric range <range>.

install <name>

Installs named package

The install control is used to install packages from the repository. Y'all can install packages by name or number (the number is given past the repository or search request), or a default package tin can exist established through use of the describe command. There is also a set of modifiers that can be used with the install control:

-forcefulness  -noforce -follow -nofollow

The strength and follow commands make up one's mind how packages are installed:

FORCE

FOLLOW

RESULT

fake

false

Checks to run into if the package is installed and if information technology is, PPM3 stops. If there are whatsoever missing prerequisites, the installation volition fail.

imitation

true

Checks to encounter if the package is installed and if it is, PPM3 stops. If there are any missing prerequisites, they are automatically installed.

true

simulated

If the bundle is installed, PPM3 volition reinstall the package. If there are any missing prerequisites, the installation will fail. NOTE: This is the default setting when PPM3 is get-go installed.

truthful

true

If the package is installed, PPM3 will reinstall the package. If at that place are any missing prerequisites, they are automatically installed.

If you do not specify whatsoever options, install uses the default settings. Set or view the electric current defaults using the settings command.

For example:

install foo

will install the package named "foo", using the default settings. You can over-ride the defaults with the install modifiers.

For example:

install foo -force

will install the "foo" package, even if it has already been installed. If both -forcefulness and -follow are set to "true", all the prerequisites for whatsoever packet you install will exist installed. For example, the installation of a tk-related package, like "tk-ach" which is 8.iv kB volition exist preceded past the installation of Tk, which is one.7 MB.

You can also install by package number. The numbering of the packages is based on the electric current repository or current search asking. For case:

install 6        

installs packet number half-dozen. You can install more than one package at 1 time:

install 3-5        

installs packages 3, four and v. You can also type install 3-6,8 to receive packages 3,4,5,6 and 8.

Profile

profile

lists profiles available on the repository

profile <number>

switches to the given profile

profile add <name>

creates a new profile on the repository

profile del <number>

deletes the given profile

profile relieve

saves the client land to the current contour

contour restore

restores the current contour

With profiles, package installation and direction is like shooting fish in a barrel to oversee. By using profiles, you tin can save your favorite perl packages in a unmarried profile or group packages by function in unlike profiles. This also makes installation of packages easier, as yous but need to access one or two profiles, instead of many individual packages.

Managing your profiles can be done through PPM3 or via the ActiveState Interactive website.

Notation: The profile commands are but available if the current repository is a PPM3 repository.

Properties

backdrop

Describes default installed bundle

properties <number>

Describes installed packet <number>

properties <package proper noun>

Describes named installed package

properties <glob design>

Performs a new query using <glob pattern>

Similar to the depict command, backdrop provides information on an installed parcel, just with more details than those bachelor with depict. In addition to the summary information, properties will display the installation date and a URL showing the location of the package within the repository.

Notation: When properties is called with arguments including a wildcard, information technology prints a message telling you lot that information technology is about to forward the whole control-line to query; then it does. With this, you tin type "properties Tk*" or "prop Tk*".

For example, typing backdrop libnet will give yous:

          Proper name: libnet  Version: ane.07.03   Writer: Graham Barr Abstract: Collection of Network protocol modules InstDate: Fri Oct  2 16:15:fifteen 1998 Location: http://ppm.ActiveState.com/cgibin/PPM/ppmserver.pl?urn:/PPMServer        

See Besides: Describe

Quit

Quit is some other control used to close the PPM application. Like the exit command; when you lot close PPM3, the electric current settings volition be saved.

See Also: Get out

Query

query

Displays list of previous queries

query <number>

Displays results of previous query

query <glob pattern>

Performs a new query using <glob pattern>

query *

Displays a list of all installed packages

The query control displays either a listing of all installed packages or a shortened list, based on the <glob pattern> entered. You can also check the listing of past queries or the results of a by query.

Note: Depending on the value of "instance-sensitivity", the query may or may not be example-sensitive. Run into "aid settings" for how to affect the case sensitivity.

Encounter Also: Settings

Remove

remove

Deletes default installed bundle

remove <number>

Deletes a package by a specific number

remove <range>

Deletes a <range> of packages

remove <name>

Deletes a package by a specific proper noun

The remove control deletes packages from your current target. Packages can be removed by packet proper noun or by their numerical listing. For example:

remove XML-DOM        

volition delete the XML-DOM package from your target. Also, yous tin remove parcel by number:

remove half dozen        

and the 6th packet in your current query will be removed. If you lot accept no query requests established, you'll be required to utilize query to find a package before yous delete it. It's of import to remember that removing packages besides clears all previous query requests, since the numerical sequence stored in any query volition no longer exist true once bundle(s) have been removed.

Packages tin too be removed in groups; for instance:

remove 4-vii        

will delete packages four, 5, half-dozen, and seven from your target. Yous can besides skip packages in the removal procedure:

remove 3-five, vii        

this will delete packages 3, 4, 5 and 7...but it will leave 6 intact. Remember to run a new query whenever you lot remove a package from your target.

Please notation that wildcards similar "*" or "?" cannot be used with the remove command.

See Also: Uninstall

Repository

repository

displays all repositories

repository [set] <number>

sets the specified repository agile

repository add [name] <repository location>

adds a new repository

repository del <number>

deletes the specified repository

repository describe [number]

displays the name, location and type of the specified (or electric current) repository

When used with no arguments, repository (or "rep") will list the repositories currently within the PPM3 settings. The default repository is highlighted with a leading "*".

For example, when you lot enter:

rep

PPM3 volition render something resembling this:

Repositories: * 1. ActiveCD.   two. ActiveState Package Repository        

With the example above, entering rep set 2 will make the second repository (ActiveState Parcel Repository) the active repository. Adding another repository is done like this:

rep add <Name> <LOCATION>

for instance:

rep add TheoryX5 http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer

with "TheoryX5" being the proper name of the repository (for like shooting fish in a barrel reference) and the location noted by the http location. If you were to enter rep again, you lot would see:

ppm>rep Repositories:   ane. ActiveCD * ii. ActiveState Parcel Repository   3. TheoryX5        

If yous wanted to remove the ActiveCD repository, yous would type rep del one, to remove the 1st repository. To get more information on a particular repository, blazon res depict to get data on the current repository or res depict <number> to go data on a specific repository.

For example:

rep describe 2

will render:

Describing Repository two:     Name: ActiveState Package Repository Location: http://ppm.ActiveState.com/cgibin/PPM/ppmserver.pl?urn:/PPMServer     Type: PPMServer 2.00        

Search

search

Displays listing of previous searches

search <number>

Displays results of search <number>

search <glob pattern>

Performs a new search

search <field>=<glob pattern>

Searches for all packages matching the field - the available fields are Abstruse, NAME or Title, AUTHOR and VERSION - NAME is the default search setting

search *

Searches for all packages in the current repository

Search is used to look through the repository for packages. With PPM, you can perform powerful and detailed searches. Here are some examples:

COMMAND

Significant

SAMPLE RESULTS

search CGI

Search for 'CGI' anywhere in the proper name

Apache-CGI
CGI-Application
CGI-ArgChecker

search CGI*

Search for 'CGI' at beginning of proper noun

CGI-Application
CGI-ArgChecker

search AUTHOR=smith

Search for all modules authored past someone with 'smith' in their proper noun or email

Apache-ProxyPass
Business-ISBN

search ABSTRACT=compress

Search for 'compress' anywhere in the abstract

Apache-GzipChain
IO-Zlib

search CGI or Abstract=web

Search for 'CGI' in the name, or 'web' in the abstract

CGI-XMLForm
HTML-Make clean

search XML and (parser or Abstract=pars) and not XPath

Search for 'XML' in the name and either 'parser' in the name or 'pars' in the abstract, simply not with 'XPath' in the name

XML-Node
XML-Parser-EasyTree

search Information::Grove

PPM Server 3.0 repositories just: Search by module name, even if unrelated to the containing bundle

libxml-perl

search *

Browse all packages in the repository

Braze-Infix2Postfix
AI-Fuzzy
AI-NeuralNet-BackProp
[... 1700+ more]

You can recollect previous searches with the search <number> command, as PPM stores past searches.

Settings

settings

displays electric current options

settings <name>

displays the current setting of the given <name>

settings <name> <value>

sets <proper noun> to <value>

The settings command gives yous access to the different options that PPM has available. This can be modified to better suit your needs when using PPM.

Available settings:

NAME

VALUE

Description

case-sensitivity

"0" or "i"

If set to "1", searches and queries are instance-sensitive.

download-chunksize

integer

If this is set to a positive, non-nix integer, PPM updates the status after each "integer" of bytes transferred during an install or upgrade.

follow-install

"0" or "ane"

Run into install for details.

force-install

"0" or "1"

Run across install for details.

page-lines

integer

The number of lines to display per page. If a upshot has fewer than "folio-lines", it will exist printed directly to the screen regardless of the "pager" setting.

pager

path

The path to an external pager program used to page long displays. If left blank, the internal pager is used.

prompt-context

"0" or "1"

If "1", enables the prompt to modify based on the electric current land of PPM, i.e. showing current target, query, etc.

prompt-slotsize

integer

If prompt-verbose is "1", this defines the width of each slot in the prompt. For case, "iv" ways to use iv character-wide slots.

prompt-verbose

"0" or "1"

If "0", uses numbers to represent the context in the prompt; much shorter. If prompt-context is set to "0", there will be no visible difference in the prompt-verbose settings.

sort-field

field

The field by which to sort search and query results. Valid fields are ABSTRACT, Name or Championship, Writer and VERSION. Notation: these fields are case-sensitive.

tempdir

path

A temporary directory into which packages are downloaded and expanded during "install" and "upgrade".

trace-file

path

A file to which PPM will write tracing data.

trace-level

integer

If 0 or negative, tracing is disabled. Any positive integer results in tracing information. College numbers mean more tracing information.

PPM options: If yous are looking for old options understood by previous version of PPM, please run into "help ppm_migration".

Annotation: When you assign a value, PPM saves its configuration. That ways all values automatically persist across sessions. Besides, setting names may be abbreviated to uniqueness. Instead of typing "case-sensitivity", you lot may type "case".

Target

target

Displays a list of targets

target <number>

Sets <number> as default target

target draw [number]

Describes the given (or default) target

target set up <key> <val>

Sets the target's <key> to <val>

A target is a location where packages are installed, a directory where the packages yous desire to install are placed when they're downloaded from the repository. For example, entering:

target

will return:

Targets:   1. ActivePerl 618 * two. ActivePerl 630        

This shows us that we have 2 targets bachelor to us and that the second target (ActivePerl 630) is currently the default, as noted by the asterisk. The ability to choose different targets allows PPM to manage several installations of Perl from one command-line.

Notation: Currently, PPM simply supports Perl simply volition be expanded for other languages in the near time to come. You tin have several versions of Perl on your arrangement and each version will be recognized equally a unique target by PPM.

Tree

tree

displays the dependency-tree of the default parcel

tree <number>

displays the dependency-tree of the given <number>

tree <range>

displays a <range> of dependency copse

tree <name>

displays the dependency-tree of the named package

The tree command is used to show the what is known as the "dependncy tree" of a given package. That is, a list of additional packages that are required to brand a given bundle perform as expected. For example, entering:

tree Lather-lite        

would render something that looks like this:

==================== SOAP-Lite 0.46     |__MIME-tools five.316     |   |__MailTools i.15     |   \__IO-stringy ane.216     |     \__MIME-Low-cal 2.105 ====================        

Equally we tin run across, Soap-Lite would require 4 other packages to be installed with it.

When tree is called without a <name> or <number>, tree will return the dependency tree of the first bundle in the default search result. If there is no default search, you will be requested to apply search to find a package.

Uninstall

uninst

Removes default installed package

uninst <number>

Removes installed package <number>

uninst <range>

Removes a <range> of installed packages

uninst <name>

Removes named installed package

Like the remove command, uninstall enables you to delete installed packages. This tin can be done past proper noun or by the numerical listing of packages. Besides similar the remove control, uninstalling any packages will articulate all previous query requests.

See Also: Remove

Upgrade

upgrade [*]

Lists upgrades bachelor for all installed packages

upgrade <number>

Upgrades installed package <number>

upgrade <range>

Upgrades a <range> of installed packages

upgrade <package>

Upgrades the named <package>

In that location are several modifiers to the upgrade command, every bit well:

OPTION

Description

Install

Installs, rather than lists, bachelor upgrades

Precious

Allows upgrading of "precious" packages

Strength

Run across install

Follow

See install

By default, upgrade typed by itself simply lists the available upgrades. To actually install all available upgrades, enter:

upgrade -install        

To enable upgrading "precious" packages, blazon:

upgrade -install -precious        

Version

Version

displays the installed PPM version number.

PPM commands

Beneath is a list of PPM commands (you lot can type 'assistance <control>' at the PPM prompt for usage details for a particular <command>). Items in [brackets] are optional.

Command Office
genconfig prints a minimal PPM configuration file to STDOUT [Note: genconfig only works from the command-line]
help [command] lists available commands, or help on 'command'.
info [package1...] prints a summary of installed packages.
install package1 [package2...] installs specified packages.
quit exits the program.
query [design] lists installed packages, or packages containing design.
query /abstract [pattern] lists descriptions of installed packages, or packet descriptions containing pattern.
remove package1 [package2...] removes the specified packages from the organisation.
search [pattern] lists available packages, or packages containing design.
search /abstract [pattern] lists descriptions of available packages, or package descriptions containing blueprint.
set set/display electric current options.
set save salvage electric current options.
verify [package1...] verifies currently installed packages are upward to date.
verify /upgrade [package1...] installs available parcel upgrades.

A pattern is a search cord just like the regular expressions - for example if yous search for with this control

search ODBC|DBI

(which means 'search for packages in which the characters ODBC and/or the characters DBI are present in that order') you get a result like this

Apache-DBI
DBD-ODBC
DBI
FindBin
Win32-ODBC

Note that if you use 'search /abstract [pattern]' the search will just include the ABSTRACT department of the package files.

Where are the package repositories?

By default, PPM and PPM3 will use the ActiveState package repository, but at that place are other repositories on the Net. At the moment there are these repositories:

Annotation: almost of these repositories are for ActivePerl 5xx builds only; they may not be compatible with ActivePerl 6xx builds. Cheque these repositories for the latest updates:

http://ppm-ia.ActiveState.com/PPM/ppmserver.plex?urn:/PPMServer::Server::SQL New 3.0 Repository (BETA) from ActiveState
http://www.ActiveState.com/cgibin/PPM/ppmserver.plex?urn:/PPMServer The default bundle repository from ActiveState
http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer University of Winnipeg
http://Jenda.Krynicky.cz/perl Jan Krynicky'southward package repository
http://www.roth.internet/perl/packages/ Roth Consulting'south package repository
http://world wide web.xray.mpe.mpg.de/~ach/ptk/ppm Achim Bohnet'southward parcel repository
http://rto.dk/packages/ RTO's packages repository (mostly mirrors of the above)

http://www.fastnetltd.ndirect.co.uk/Perl/zips/ Fastnet Software Ltd's packages - not direct accessible from PPM at nowadays

For PPM3 users

To use these bundle repositories you start PPM3 and at the prompt blazon:

repository add        NAME        URL      

where Name is a name by which yous want to reference the repository from PPM and URL is the URL to the repository. Please notation that NAME is optional, every bit PPM will assign a name to the repository for you. For instance, entering:

repository add together JENDA http://Jenda.Krynicky.cz/perl      

will create a repository for yous, by the proper name of JENDA and give you access to the modules available at that place.

For PPM users

To use these packet repositories yous start PPM and at the prompt type

gear up repository        Name        URL      

where Name is a name by which y'all want to reference the repository from PPM and URL is the URL to the repository. You could for example type

set repository JENDA http://Jenda.Krynicky.cz/perl      

The side by side time yous do a 'search' you lot will non only search the ActiveState package repository but also the repositories you take added. Before you exit PPM y'all should save the changes to the configuration by issuing the control 'fix salvage'.

How do I make a PPM packet?

If you want to make a PPM package for use on other machine yous tin do it like this:

Specify the AUTHOR and ABSTRACT parameters in the Makefile.PL. However y'all should only laissez passer them to WriteMakefile if the version of the perl is greater than 5.005 - older perls practice non have these parameters added and do not wait to see them. This is an example Makefile.PL:

use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Term::Control',
'VERSION_FROM' => 'Control.pm', # finds $VERSION
($] ge '5.005') ? (
'AUTHOR' => 'Johnny Doel (johnny@doel.org)',
'Abstruse' => 'Control the IO for terminals',
) : (),
);

Then you lot brand the archive with the commands

perl Makefile.PL
nmake

The resulting files are placed in the blib directory that is created when you run nmake. These files should exist packed into an archive like this:

tar cvf parcel.tar blib
gzip --best package.tar

You lot now take an archive called package.tar.gz. Then you generate the PPD file by:

nmake ppd

You have to edit the resulting PPD file and add the location of the bundle archive into <CODEBASE HREF="" />. The location is relative to the PPD file.

You can become nmake from http://download.microsoft.com/download/vc15/Patch/i.52/W95/EN-US/Nmake15.exe. You tin get tar and gzip from http://virtunix.itribe.net/.

PPM, Proxies and Firewalls

If you lot use a proxy server or firewall, yous might accept trouble running PPM. Here is the solution.

Note: If none of the changes in this document work for you, you lot may download individual packages from hither [ActivePerl 613 and later] or here [ActivePerl 522 and before] and install them according to the directions in the README file contained within the ZIP file. If yous want, you can too keep a local repository, with several .ppd files in a permanent repository directory, and their .tar.gz files in an x86 directory beneath that.

  1. Set Environment Vars

Upwards to three environs variables need to be set.

Under Windows 2000
Right click on "My Calculator", click on "Properties" and select the "Advanced" tab. Click the button marked "Environs Variables" and make the following changes in the "System Variables" window:

  1. With the "New" push, add together the setting HTTP_proxy, with your proxy proper name as the value (yous must include "http://"), followed by a colon and the proxy port, if applicable; e.g., "http://proxy:8080"
  2. If you crave a user name and/or password to admission your proxy, use the "New" button to add the settings HTTP_proxy_user and HTTP_proxy_pass, with your user proper name and password equally the respective values.

Under Windows NT
Correct click on "My Computer", click on "Properties", select the "Environment" tab. These are your environment settings. Make the following changes:

  1. Add the setting HTTP_proxy, with your proxy name as the value (you must include "http://"), followed by a colon and the proxy port, if applicable; e.g., "http://proxy:8080"
  2. If you require a user name and/or password to access your proxy, add the settings HTTP_proxy_user and HTTP_proxy_pass, with your user name and password as the respective values.

Under Windows 9x
In your AUTOEXEC.BAT file, place the post-obit lines then reboot so the changes tin can have effect:

  1. Fix HTTP_proxy=<your proxy server (yous must include "http://", followed by a colon and the proxy port, if applicable; e.1000., SET HTTP_proxy=http://proxy:8080
  2. Prepare HTTP_proxy_user=<your user proper name> (if required)
  3. Fix HTTP_proxy_pass=<your password> (if required)
  1. Try using PPM

With your internet connection active, try using PPM again. Try to install a small package, like File-Slurp. You'll know that information technology still fails if you meet an mistake stating that information technology can't find a ppd file for the specified package.

  1. Further Information and Help

If at that place were issues with any of the above hints, please run across hither on how to get further assistance.

Author AND COPYRIGHT

This FAQ was originally assembled and maintained by Evangelo Prodromou. Information technology has been revised and updated by Brian Jepson of O'Reilly & Assembly, David Grove, David Dmytryshyn, and Murray Nesbitt of ActiveState, Henning Michael Thou�ller-Nielsen of RTO, Kevin Meltzer, and David Sparks of ActiveState.

This FAQ is in the public domain. If you use it, notwithstanding, please ensure that y'all requite credit to the original authors.

Source: https://perlhelp.web.cern.ch/faq/ActivePerl-faq2.html

Posted by: robinsonwerving80.blogspot.com

0 Response to "How To Install Perl Modules In Windows With Ppm"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel