http://qs321.pair.com?node_id=1107249

eheyburn has asked for the wisdom of the Perl Monks concerning the following question:

I just installed Strawberry Perl for a project to run a script written by a colleague. I know from other languages, I needed to run a command to get the computer to find the Perl directory from the command prompt. What do I need to do so I can run a script from c:\ ? Hope that makes sense. Thank you!

Replies are listed 'Best First'.
Re: Newbie Question
by glenn (Scribe) on Nov 14, 2014 at 21:39 UTC
    With windows you may need to reboot; however, just navigate to the dir where the script.pl file lives and run 'perl script.pl'. Replace 'script.pl' with your unique file name....

      This will work, and you shouldn't even need to type "perl" first as long as the script name ends in .pl

Re: Newbie Question
by ww (Archbishop) on Nov 14, 2014 at 22:56 UTC

    Since you're neither explicit nor comprehensive about your problem (...needed to run (what) commend to get the (*OS?) computer to... nor about how you installed Strawberry, it's a tad hard to provide anything resembling a definitive answer.

    And, in fact, as stated, at least your first (implied) question is an MSWin question; not one about Perl

    So -- beyond giving the Monks enough specific information to help -- here are some question for you -- the answers to which may tell you what you need to know to solve your own problem:
            ⊚ Doesn't Strawberry put its executable in your path?
            ⊚ Did you check?
            ⊚ Doesn't a standard Strawberry install associate .pl files with its executable?

    You can probably find the information you need in Strawberry's documentation. Failing that, take a look at ActiveState's install instructions. Much will be irrelevant but some will be on target... and the same may be true of whatever information sources you know how to use from M$.

    BTW, see the SIG: no downvote this time for a poorly-asked and OT question. But please see
    On asking for help
    How do I post a question effectively?
    I know what I mean. Why don't you? and
    Markup in the Monastery



    Questions containing the words "doesn't work" (or their moral equivalent) will usually get a downvote from me unless accompanied by:
    1. code
    2. verbatim error and/or warning messages
    3. a coherent explanation of what "doesn't work actually means.
Re: Newbie Question
by RonW (Parson) on Nov 14, 2014 at 22:42 UTC

    When I installed Strawberry Perl on a Windows PC, the installer created folder, "C:\Strawberry\perl\site\bin" and added that folder to Window's search path. You can put a copy of your Perl program in that folder. Then Windows will be able to find it when you type the name of your program in the CMD window.

    (It works for me with Strawberry Perl 5.18.2)

    Update: Yes, ww has very good points.

    So, a better suggestion:

    C:\>md MyPerlPrograms

    (replace "MyPerlPrograms" with whatever you want.)

    Then copy your programs there and run them as ww described.

    (There are ways to add your own folders to the windows search path, the simplest being: C:\>PATH=C:\MyPerlPrograms;%PATH%. HOWEVER, that only sets it for the current CMD window. And once you dismiss that window, Windows will forget about it. To add it permanently requires updating the Windows Registry. There are far better places then here to ask about doing that.)

      Yes, that should work, but --- Beware! Thar' be monsters there!!!

      Keeping a separate directory (or dir tree) for scripts has many merits... (including giving you a place for smallish data files that you don't want commingled with the distro) and with the path to the executable established (see my earlier but now following response), one can run the scripts from their own directory ... or from the C:\ prompt using a fully qualified path to the script, for example:

      C:\>dir d:\_Perl_\PMonks\11*.pl Directory of d:\_Perl_\PMonks ...10/09/2014 08:44 AM 504 1103295.pl 10/15/2014 06:23 PM 789 1103938.pl ... C:\>D:\_Perl_\PMonks\1103938.pl foo using shift and the CLI argument, 'foo' shift method: foo Enter one arg for shift method: bar (at_foo and @_ method) argument is: bar C:\>

      Yes, this is an ActiveState install, but it still applies to OP's problem and the parent node's suggestion


      ++$anecdote ne $data


Re: Newbie Question
by karlgoethebier (Abbot) on Nov 15, 2014 at 14:50 UTC
    "...I needed to run a command..."

    assoc?

    Strange enough what you describe. I switched from ActiveState to Strawberry short time ago and all went well.

    Regards, Karl

    «The Crux of the Biscuit is the Apostrophe»