PERL: Function calling using parameters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting PERL: Function calling using parameters
# 1  
Old 11-17-2011
PERL: Function calling using parameters

I have two variables. I need to call them using the same function

Code:
 
my $dat1 ="abc";
my $dat2 ="def";
my $check;
filecheck($dat1,$dat2);
sub filecheck($)
{
$check = shift;
print "first name is $check\n";
}
print "this is fine\n";
sub filecheck($)
{
$check = shift;
print "second name is $check\n";
}

[output]

second name is abc
this is fine
[/output]


required output:

[required output]

first name is abc
this is fine
second name is def
[/required output]

How can this be done.

Thanks in advance.
# 2  
Old 11-17-2011
Code:
my $dat1 ="abc";
my $dat2 ="def";
my $check;
filecheck($dat1,$dat2);

sub filecheck {
$check = shift;
print "first name is $check\n";
print "this is fine\n";
$check = shift;
print "second name is $check\n";
}

# 3  
Old 11-17-2011
You could also make use of the local array "@_" inside a subroutine.

Code:
$
$ cat -n function.pl
     1  #!perl -w
     2  my $dat1 = "abc";
     3  my $dat2 = "def";
     4  filecheck ($dat1, $dat2);
     5
     6  sub filecheck {
     7    my @names = @_;
     8    print "first name is $names[0]\n";
     9    print "this is fine\n";
    10    print "second name is $names[1]\n";
    11  }
$
$ perl function.pl
first name is abc
this is fine
second name is def
$
$

You do not have to assign the array to a local array variable inside the subroutine, as the following program shows.
But doing so may be a good idea for purposes of clarity and maintainability.

Code:
$
$ cat -n function_1.pl
     1  #!perl -w
     2  my $dat1 = "abc";
     3  my $dat2 = "def";
     4  filecheck ($dat1, $dat2);
     5
     6  sub filecheck {
     7    # The "@_" array already holds the parameter values
     8    # at this point. You can access its elements.
     9    print "first name is $_[0]\n";
    10    print "this is fine\n";
    11    print "second name is $_[1]\n";
    12  }
$
$
$ perl function_1.pl
first name is abc
this is fine
second name is def
$
$

tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help to Modify File Name in each function before calling another function.

I have a script which does gunzip, zip and untar. Input to the script is file name and file directory (where file is located) I am reading the input parameters as follows: FILENAME=$1 FILEDIR=$2 I have created 3 functions that are as follows: 1) gunzip file 2) unzip file... (2 Replies)
Discussion started by: pinnacle
2 Replies

2. Shell Programming and Scripting

Perl script for Calling a function and writing all its contents to a file

I have a function which does awk proceessing sub mergeDescription { system (q@awk -F'~' ' NR == FNR { A = $1 B = $2 C = $0 next } { n = split ( C, V, "~" ) if... (3 Replies)
Discussion started by: crypto87
3 Replies

3. Homework & Coursework Questions

Shell script calling Perl function, sort and find data, write to new files

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I must write a shell script that calls two external Perl functions--one of which sorts the data in a file, and... (6 Replies)
Discussion started by: kowit010
6 Replies

4. Shell Programming and Scripting

Calling sql file from shell script with parameters.

Hi, I am calling a sql file script.sql from shell script and passing few parameters also as shown below: sqlplus -S id/password @script.sql $param1 $param2 Now,In sql file I have to create a extract text file after querying oracle tables based on the parameters passed(param1,param2) as... (7 Replies)
Discussion started by: anil029
7 Replies

5. Shell Programming and Scripting

SHELL SCRIPT Function Calling Another Function Please Help...

This is my function which is creating three variables based on counter & writing these variable to database by calling another function writeRecord but only one record is getting wrote in DB.... Please advise ASAP...:confused: function InsertFtg { FTGSTR="" echo "Saurabh is GREAT $#" let... (2 Replies)
Discussion started by: omkar.sonawane
2 Replies

6. Shell Programming and Scripting

Pass parameters to function

Hi, for example I have this function: function get_param () { test=echo "some string" test2=echo "someother string" } I want to call this function and get test or test2 result, how do I do that ? Thank you (2 Replies)
Discussion started by: ktm
2 Replies

7. Shell Programming and Scripting

Return a value from called function to the calling function

I have two scripts. script1.sh looks -------------------------------- #!/bin/bash display() { echo "Welcome to Unix" } display ----------------------------- Script2.sh #!/bin/bash sh script1.sh //simply calling script1.sh ------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies

8. Shell Programming and Scripting

Calling a C-function froma Perl script

Hi All, How can we call a c function from a perl script? Is it the same way as we do for shell script ? Thanks in advance JS (9 Replies)
Discussion started by: jisha
9 Replies

9. Shell Programming and Scripting

Calling sql in shell script with parameters

Dear All, I want to call an sql script within a unix shell script. I want to pass a parameter into the shell script which should be used as a parameter in teh sql script. e.g $ ./shell1.sh 5000129 here 5000129 is a prameter inside shell script i am calling one sql script e.g. ... (2 Replies)
Discussion started by: Radhe
2 Replies

10. Shell Programming and Scripting

Question for calling oracle function from perl

Dear Sir/Madam, I use the following way to call the oracle stored procedure in a perl script, but I do not know how to call a oracle function by the following way ? # ARGV is the oracle stored procedure name with parameters $str = "sqlplus -s <<-eof \n" . "$db_login... (0 Replies)
Discussion started by: ili
0 Replies
Login or Register to Ask a Question