Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: routine as subroutine and on command line

by count0 (Friar)
on Jan 18, 2002 at 19:39 UTC ( #139836=note: print w/replies, xml ) Need Help??

in reply to routine as subroutine and on command line

It sounds like you're crying out for modules (or better, object classes ;)

If you need to be calling only certain subroutines from the command line, this is the ideal (imo) way to go.
Instead of, make it This will also require changing parts of it (adding a 'package' line to the top, at least) to turn it into its own package.

Here's a simple example:
package AvgRoutines; sub avg3 { # ... code ... } 1;
See Simple Module Tutorial for a simple introduction to modules, if you need it. For a more technical primer, see perlmod.

Now, with it being its own module you can call just the sub you need from the command line *or* from other scripts (by use'ing it).

cat some_file_holding3numbers.txt | perl -I'.' -MAvgRoutines -pe 'AvgRoutines::avg3($_)' > avg.txt
See perlrun for any help with those command line switches.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://139836]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2018-04-25 17:08 GMT
Find Nodes?
    Voting Booth?