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
[... 1700+ more]
AI-Fuzzy
AI-NeuralNet-BackProp
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.
-
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:
- 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
"- 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:
- 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
"- 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:
- 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
- Prepare HTTP_proxy_user=<your user proper name> (if required)
- Fix HTTP_proxy_pass=<your password> (if required)
-
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.
-
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