Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: routine as subroutine and on command line

by talexb (Chancellor)
on Jan 18, 2002 at 19:49 UTC ( [id://139841]=note: print w/replies, xml ) Need Help??


in reply to routine as subroutine and on command line

Your original command line was
cat some_file_holding3numbers.txt | avg_routines.pl (+some way of spe +cifying avg3())> avg.txt
The more usual way of forming that is
perl -w avg_routines.pl (+some way of specifying avg3()) <some_file_ho +lding3numbers.txt >avg.txt
That aside, if the routine you wanted to use was inside the existing script, you could name the routine on the command line then use
my $Routine = shift; # Get routine name from cmd line &{ $Routine }; # Call named routine
to actually run it (I haven't tried this code -- this is just something to get you pointed in the right direction). This routine would then read input from the command line via the diamond operator while (<>), average the three numbers and output the average using print.

If the code's in another module, you'll have to include the module name with the routine name, and either use it within your script or bring it in using the -M command line argument for Perl.

This sounds like an awfully complicated way to do something fairly simple. What problem are you really trying to solve?

--t. alex

"Of course, you realize that this means war." -- Bugs Bunny.

Replies are listed 'Best First'.
Re: Re: routine as subroutine and on command line
by count0 (Friar) on Jan 18, 2002 at 20:23 UTC
    I'd just like to shout out my strong reccomendation against using symbolic references (or typeglobs in this fashion)! =)

    It has been my experience that code like this quickly becomes less than maintainable.
    If one were to take this approach (as opposed to modules), a dispatch table would be much more desirable.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://139841]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2024-04-19 15:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found