Sponsored Content
Full Discussion: ARGV how to use it?
Top Forums UNIX for Dummies Questions & Answers ARGV how to use it? Post 302967866 by drl on Monday 29th of February 2016 11:38:16 AM
Old 02-29-2016
Hi.

I usually look at perldoc perlvar for questions like this. In this case:
Code:
    $ARGV   Contains the name of the current file when reading from "<>".

    @ARGV   The array @ARGV contains the command-line arguments intended for
            the script. $#ARGV is generally the number of arguments minus one,
            because $ARGV[0] is the first argument, not the program's command
            name itself. See "$0" for the command name.

    ARGV    The special filehandle that iterates over command-line filenames
            in @ARGV. Usually written as the null filehandle in the angle
            operator "<>". Note that currently "ARGV" only has its magical
            effect within the "<>" operator; elsewhere it is just a plain
            filehandle corresponding to the last file opened by "<>". In
            particular, passing "\*ARGV" as a parameter to a function that
            expects a filehandle may not cause your function to automatically
            read the contents of all the files in @ARGV.

Best wishes ... cheers, drl
This User Gave Thanks to drl For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

argv

I have a program which I wish to modify. It used to be run from the command line, but now I wish to change this so it can be used as a function. The program has complex argument processing so I want to pass my paramters to as if it were being called by the OS as a program. I have tried to... (2 Replies)
Discussion started by: mbb
2 Replies

2. Programming

Using argv argc

I searched on the forums. No advises. I am using a previous source code. I changed the main function main(int argc, char **argv) in a function misc(int argc, char **argv). How do you use the argc and argv parameters? This is how I am calling the function : char param; strcat(param,"wgrib ");... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies

3. Shell Programming and Scripting

Perl: Getting $ARGV's to operate like while(<>)

I have a script that asks a bunch of questions using the following method for input: print "Name:"; while(<>){ chomp; $name=$_; } So for example, if the questions asked for name, age, & color (in that order)... I want to be able to easily convert $ARGV into the input expected by... (2 Replies)
Discussion started by: jjinno
2 Replies

4. Programming

help for argv argc

Hi C experts, I have the following code for adding command line option for a program int main (argc, argv) int argc; char *argv; { char *mem_type; //memory type char *name; //name of the memory int addr; //address bits int data; ... (5 Replies)
Discussion started by: return_user
5 Replies

5. Shell Programming and Scripting

if #argv = (this OR that) then...

this is in one of my scripts... if ($#argv == 0) then echo 'blah bla' exit 0 endif I want it to be something like this... if ($#argv == 0 OR $argv >=3) echo 'blah bla' exit 0 endif so when the arguments are none, or greater than three I want this "if then" to take over. how? I... (5 Replies)
Discussion started by: ajp7701
5 Replies

6. Shell Programming and Scripting

$#Argv in Csh

Hello all, Had a quick question: In a typical csh script should inputting via stdin (i.e. set i = $< ) increase the value of $#argv ? echo enter an value: set val= "$<" if($#argv == 0) then echo No args else echo The arg is $argv so if a value is inputted #argv... (1 Reply)
Discussion started by: new2C
1 Replies

7. Programming

ARGV help in C

Hi, Can somehelp help how to list file in a dir? (5 Replies)
Discussion started by: Learnerabc
5 Replies

8. Programming

help with C, argv

when i run my program, i have a parameter, that i want to set the value to another string i am using int main(int argc, char **argv) { char my_str=argv; printf("%s",my_str); return 0; } and i get Segmentation fault ran using ./my_prog /usr/share/dict/words hello1 ... (2 Replies)
Discussion started by: omega666
2 Replies

9. Programming

How do I copy or rewind *argv[]

I'm working on my own pow function and I need to make a copy of *argv but I think that I am having trouble with the size of *argv and the size of any array that I make. The code below isn't working for me. and I want to accept any number no matter the size with pow -f 2 2. I was working out... (16 Replies)
Discussion started by: Errigour
16 Replies

10. UNIX for Advanced & Expert Users

O argv, argv, wherefore art thou argv?

All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address). I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies
SUBPROCESS(1)						User Contributed Perl Documentation					     SUBPROCESS(1)

NAME
Apache::SubProcess -- Executing SubProcesses from mod_perl SYNOPSIS
use Apache::SubProcess (); use Config; use constant PERLIO_IS_ENABLED => $Config{useperlio}; # pass @ARGV / read from the process $command = "/tmp/argv.pl"; @argv = qw(foo bar); $out_fh = Apache::SubProcess::spawn_proc_prog($r, $command, @argv); $output = read_data($out_fh); # pass environment / read from the process $command = "/tmp/env.pl"; $r->subprocess_env->set(foo => "bar"); $out_fh = Apache::SubProcess::spawn_proc_prog($r, $command); $output = read_data($out_fh); # write to/read from the process $command = "/tmp/in_out_err.pl"; ($in_fh, $out_fh, $err_fh) = Apache::SubProcess::spawn_proc_prog($r, $command); print $in_fh "hello "; $output = read_data($out_fh); $error = read_data($err_fh); # helper function to work w/ and w/o perlio-enabled Perl sub read_data { my($fh) = @_; my $data; if (PERLIO_IS_ENABLED || IO::Select->new($fh)->can_read(10)) { $data = <$fh>; } return defined $data ? $data : ''; } DESCRIPTION
"Apache::SubProcess" provides the Perl API for running and communicating with processes spawned from mod_perl handlers. API
spawn_proc_prog() $out_fh = Apache::SubProcess::spawn_proc_prog($r, $command, [@argv]); ($in_fh, $out_fh, $err_fh) = Apache::SubProcess::spawn_proc_prog($r, $command, [@argv]); spawn_proc_prog() spawns a sub-process which exec()'s $command and returns the output pipe filehandle in the scalar context, or input, out- put and error pipe filehandles in the list context. Using these three pipes it's possible to communicate with the spawned process. The third optional argument is a reference to an array which if passed becomes ARGV to the spawned program. It's possible to pass environment variables as well, by calling: $r->subprocess_env->set($key => $value); before spawning the subprocess. There is an issue with reading from the read filehandle ($in_fh)): A pipe filehandle returned under perlio-disabled Perl needs to call select() if the other end is not fast enough to send the data, since the read is non-blocking. A pipe filehandle returned under perlio-enabled Perl on the other hand does the select() internally, because it's really a filehandle opened via ":APR" layer, which internally uses APR to communicate with the pipe. The way APR is implemented Perl's select() cannot be used with it (mainly because select() wants fileno() and APR is a crossplatform implementation which hides the internal datastructure). Therefore to write a portable code, you want to use select for perlio-disabled Perl and do nothing for perlio-enabled Perl, hence you can use something similar to the read_data() wrapper shown in the SYNOPSIS section. perl v5.8.0 2002-09-02 SUBPROCESS(1)
All times are GMT -4. The time now is 02:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy