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
Perl::Critic::Policy::InputOutput::ProhibitExplicitStdinUser)Contributed Perl DocumenPerl::Critic::Policy::InputOutput::ProhibitExplicitStdin(3pm)

NAME
Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin - Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>". AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Perl has a useful magic filehandle called *ARGV that checks the command line and if there are any arguments, opens and reads those as files. If there are no arguments, *ARGV behaves like *STDIN instead. This behavior is almost always what you want if you want to create a program that reads from "STDIN". This is often written in one of the following two equivalent forms: while (<ARGV>) { # ... do something with each input line ... } # or, equivalently: while (<>) { # ... do something with each input line ... } If you want to prompt for user input, try special purpose modules like IO::Prompt. CONFIGURATION
This Policy is not configurable except for the standard options. CAVEATS
Due to a bug in the current version of PPI (v1.119_03) and earlier, the readline operator is often misinterpreted as less-than and greater- than operators after a comma. Therefore, this policy misses important cases like my $content = join '', <STDIN>; because it interprets that line as the nonsensical statement: my $content = join '', < STDIN >; When that PPI bug is fixed, this policy should start catching those violations automatically. CREDITS
Initial development of this policy was supported by a grant from the Perl Foundation. AUTHOR
Chris Dolan <cdolan@cpan.org> COPYRIGHT
Copyright (c) 2007-2011 Chris Dolan. Many rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module perl v5.14.2 2012-06-07 Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin(3pm)
All times are GMT -4. The time now is 12:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy