Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Active Perl Offline Package on Windows

by anshumangoyal (Scribe)
on Jul 28, 2012 at 12:54 UTC ( #984192=perlquestion: print w/replies, xml ) Need Help??
anshumangoyal has asked for the wisdom of the Perl Monks concerning the following question:

I am using Active Perl 5.12 on Windows XP Machine. Unfortunately this machine is not connected to Internet and I have to install "Device::Modem" package on that machine. There is no way I can get internet connection (So, I cannot use  ppm install Device::Modem . Please suggest me a way (Preferably Command Line), to download and install this package without internet.

Replies are listed 'Best First'.
Re: Active Perl Offline Package on Windows
by ww (Archbishop) on Jul 28, 2012 at 14:15 UTC
    Unless you're prepared to walk, sail, swim, drive, and/or fly to ActiveState's offices and throw yourself on their mercy, you can't do it "without internet" (as you ask in your last sentence).

    However, you can install Device::Modem (so long as you have internet access somewhere, and you obviously do or you couldn't have posted this question) without an internet connection on the W32 XP box in question. For starters (and some cogent observations), please read Yes, even you can use CPAN and the various tuts in Modules: How to Create, Install, and Use, and A Guide to Installing Modules.

    For other specific instructions, you can Super Search for terms such as "miniCPAN," "make" (or 'make file', and, of course, "install" and --IIRC-- another approach: "Perl on a Stick" or similar, related to creating a transportable Perl and modules on a thumb drive/memory stick/etc.

Re: Active Perl Offline Package on Windows
by Jenda (Abbot) on Jul 29, 2012 at 23:31 UTC

    You can't get an internet connection, but you can copy files, right? So you have to download the files PPM needs manually, copy them and then install from the local copies.

    First find out the URL of the repository. Start PPM on that machine and go to Edit / Properties. Note the URL for the ActiveState repository (for my dated 5.8 it's Then go to a computer with a connection and download the referenced file (for the 5.8 it's about 9MB!). Search for "<PROVIDE NAME="Device::Modem"". There's a <CODEBASE HREF="...right above, download that file (the path is relative to the repository path). If the <SOFTPKG> containing the <PROVIDE NAME="Device::Modem"/> contains any <REQUIRE> tags look for the <SOFTPKG> that <PROVIDE>s them and download the file(s) as well.

    Then transfer all those .tar.gz files you downloaded to some directory on the WinXP machine. Open them by WinZIP or something and extract the *.ppd file in the root of each archive into the same directory.

    Start the command prompt, chdir to the directory and run ppm install Device-Modem-1.56.ppd (or whatever version you ended up downloading.

    I do think ppm should find the other required modules if you download and transfer them into the same directory. If it doesn't, try to install the dependencies first.

    Hopefully this still works with 5.14.

    Enoch was right!
    Enjoy the last years of Rome.

      I liked this solution, My PPM File Archive is:
      When I open it any browser (Chrome/Mozill/IE) it hangs (Seems this is a big file). When I download this file (Using Download Manager), it is downloaded in some binary format. Please help me download this file. Else I cannot search my string as suggested by you.

        Append ".gz" to the file and open with archiver of your choice. Seems the HTTP headers were not entirely right so the downloader did not decompress the data.

        Enoch was right!
        Enjoy the last years of Rome.

        As explained by others, you have to un-gzip it first. They use a Content-Encoding: x-gzip header which is not really RFC conform.

        But with the above mentioned approach, you can also download a complete copy of the ppm archive. With a little regex magic on the xml file(s) to correct the paths, you can go ahead and tell the (graphical) ppm interface "Hey, you know what, there's this new server called 'C:\myserver', check it out!".

        "I know what i'm doing! Look, what could possibly go wrong? All i have to pull this lever like so, and then press this button here like ArghhhhhaaAaAAAaaagraaaAAaa!!!"
Re: Active Perl Offline Package on Windows
by dasgar (Priest) on Jul 31, 2012 at 04:10 UTC

    Here's an alternative solution. You can get the portable version of Strawberry Perl and put that one a USB drive. From your system that has internet access, you can install from CPAN whatever modules you need. Then move the drive to your Windows XP machine to run portable Strawberry Perl from that drive or copy it to the local hard drive of the Windows XP machine..

Re: Active Perl Offline Package on Windows
by rpnoble419 (Pilgrim) on Aug 01, 2012 at 01:31 UTC
    I had a similar issue. I kept two exact copies of Perl. One on my test machine (internet connected) and one on my Server. I would copy the Site and Lib directories between them. If any issues developed I would just copy the entire Perl folder from my test machine to the server. I have worked on Perl for Windows for over 13 years. I have never had to go another OS to get my job done. Perl works just as well on Windows as it does any where else.
Re: Active Perl Offline Package on Windows
by vagabonding electron (Chaplain) on Jul 30, 2012 at 15:08 UTC
Re: Active Perl Offline Package on Windows
by programmer.perl (Beadle) on Jul 30, 2012 at 08:13 UTC
    I suggest you to move from Win32 to Linux. Perl born in linux, many settings are already setted or waiting to be set in a easy steps. Occurence of such problems may be continued if you remain using the windows.
      Larry Wall began work on Perl in 1987, while working as a programmer at Unisys,8 and released version 1.0 to the comp.sources.misc newsgroup on December 18, 1987. Perl 2, released in 1988, featured a better regular expression engine. Perl 3, released in 1989, added support for binary data streams. Perl 5.000 was released on October 17, 1994.
      The defining component of Linux is the Linux kernel, an operating system kernel first released 5 October 1991 by Linus Torvalds. In March 1994 Torvalds judges all components of the kernel to be fully matured: he releases version 1.0 of Linux. The XFree86 project contributes a graphic user interface (GUI). In this year the companies Red Hat and SUSE publish version 1.0 of their Linux distributions.

      Sorry, Perl was not born in Linux, Perl was born before Linux. Stay bigoted, but at least have the dates right.

      Enoch was right!
      Enjoy the last years of Rome.

        To many linux means *nix

      I'm sorry but this is less than helpful. Suggesting someone change platform purely to get a module installed is frankly bad advice. First of all, many people don't have the freedom to pick and choose which OS/products they use in a working environment. In a great many cases this simply isn't an option. Secondly, Perl was born before Linux, claiming otherwise is factually inaccurate.

      "Occurence of such problems may be continued if you remain using the windows."

      So if they installed Linux the machine would magically be connected to the internet? You are aware that ActiveState Perl has shipped with cpan for years?

      For the record I prefer Strawberry Perl to ActiveState and Linux to MS Windows.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://984192]
Front-paged by Corion
marto faints

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2018-04-27 09:46 GMT
Find Nodes?
    Voting Booth?