Here an example of how you can check the input argument:
Code:
$ echo "-4" | perl -nE 'm/^-(\d+)$/ and say $1 or die qq|Bad argument\n|'
4
$ echo "+-4" | perl -nE 'm/^-(\d+)$/ and say $1 or die qq|Bad argument\n|'
Bad argument
$ echo "-42354" | perl -nE 'm/^-(\d+)$/ and say $1 or die qq|Bad argument\n|'
42354
$ echo "42354" | perl -nE 'm/^-(\d+)$/ and say $1 or die qq|Bad argument\n|'
Bad argument
Thanks for the comment.
When I tried this below (or I may not have done it right):
Code:
if ($ARGV[0] eq "m/^-(\d+)$/")
{
print "I think it works\n";
}
It gives a compile error of unrecognized escaped character '\d'.
Hi List,
Is it possible to pass one argument to a shell program
eg) there is a shell program abc which takes one arguments
abc one
Due to some reasons I pass
abc one two
Now one,two must be considered as "one" argument to the shell programs. Any suggestions,hints are welcome.
... (3 Replies)
Can someone help me to understand this part of code?
/bin/nawk -f awkfile file1 file2
I know awkfile is the one with awk script.
file1 is source file that needs to be processed.
What is file2 two?
Thanks for your help! (4 Replies)
In DDD debugger, where to set the the arguments for main program?
For example: ./myExe "argv1" "argv2" -> where to set "argv1" & "argv2" ?
Thanks! (2 Replies)
I have a shell script that is attempting to call a c program.
I call the c program with ./dictool
dictool accepts arguments at runtime. It works by prompting the user for various commands, acting on those commands, spitting out an output, and then prompting for more commands.
My question is,... (1 Reply)
I have the following piece of code. Currently the command line arguments are passed as shown below using the "= "sign. I capture the name of the argument, for example vmod and it's corresponding user parameter which is jcdint-z30.cmd.
./raytrac vmod=jcdint-z30.cmd srFile=jcdint.sr
Now I want... (12 Replies)
Hello,
The arguments are strings. In my code I need them to be a different type, I do the cast but it is not feasible ...
Have you any idea?
Thank you (8 Replies)
I want to write a C++ program that uses a class to do some calculations.
I pass arguments to the program, some of which are used to set up class members. A class function will then perform the necessary calculations.
I am wondering how I should pass the arguments from the program to set the... (2 Replies)
Dear Users,
I have installed a standalone program to do multiple sequence alignment which takes user parameters to run the program. I have multiple sequence files and want to automate this process through a bash script. I have tried to write a small bash code but its throwing errors.
Kindly... (13 Replies)
#!/bin/awk -f
BEGIN {
FS=":";
}
{
if ( $7 == "" ) {
print $1 ": no password!";
}
}
I want to execute this program for a particular user to check for his password from the file /etc/passwd (as the input file) and the user details to be given... (1 Reply)
Discussion started by: sri.phani
1 Replies
LEARN ABOUT MOJAVE
universal::require5.18
UNIVERSAL::require(3) User Contributed Perl Documentation UNIVERSAL::require(3)NAME
UNIVERSAL::require - require() modules from a variable
SYNOPSIS
# This only needs to be said once in your program.
require UNIVERSAL::require;
# Same as "require Some::Module"
my $module = 'Some::Module';
$module->require or die $@;
# Same as "use Some::Module"
BEGIN { $module->use or die $@ }
DESCRIPTION
If you've ever had to do this...
eval "require $module";
to get around the bareword caveats on require(), this module is for you. It creates a universal require() class method that will work with
every Perl module and its secure. So instead of doing some arcane eval() work, you can do this:
$module->require;
It doesn't save you much typing, but it'll make alot more sense to someone who's not a ninth level Perl acolyte.
Methods
require
my $return_val = $module->require or die $@;
my $return_val = $module->require($version) or die $@;
This works exactly like Perl's require, except without the bareword restriction, and it doesn't die. Since require() is placed in the
UNIVERSAL namespace, it will work on any module. You just have to use UNIVERSAL::require somewhere in your code.
Should the module require fail, or not be a high enough $version, it will simply return false and not die. The error will be in $@ as well
as $UNIVERSAL::require::ERROR.
$module->require or die $@;
use
my $require_return = $module->use or die $@;
my $require_return = $module->use(@imports) or die $@;
Like "UNIVERSAL::require", this allows you to "use" a $module without having to eval to work around the bareword requirement. It returns
the same as require.
Should either the require or the import fail it will return false. The error will be in $@.
If possible, call this inside a BEGIN block to emulate a normal "use" as closely as possible.
BEGIN { $module->use }
SECURITY NOTES
UNIVERSAL::require makes use of "eval STRING". In previous versions of UNIVERSAL::require it was discovered that one could craft a class
name which would result in code being executed. This hole has been closed. The only variables now exposed to "eval STRING" are the
caller's package, filename and line which are not tainted.
UNIVERSAL::require is taint clean.
COPYRIGHT
Copyright 2001, 2005 by Michael G Schwern <schwern@pobox.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
AUTHOR
Michael G Schwern <schwern@pobox.com>
Now maintained by Neil Bowers (NEILB).
SEE ALSO
Module::Load, "require" in perlfunc, <http://dev.perl.org/rfc/253.pod>
perl v5.18.2 2013-09-27 UNIVERSAL::require(3)