05-10-2010
Oops not return but exit
I'll correct the original post
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi,
how can i do the following.....
i have file containing followig
a k 10000
b c 200000
d e 50
a j 40
how can i list all rows containg last value more than 1000?
and how can i find number of blank rows in the file?
THANKS!
regards
vivek (2 Replies)
Discussion started by: vivekshankar
2 Replies
2. Shell Programming and Scripting
I have converted data written on excel sheet in unix through shell & perl prg
now the problem is I want that if starting columns of the xls sheet is Blank than when data is converted into unix then it should appear with this '|' sign. but it appearing like this:
hfgg|tytt|
but I want like... (2 Replies)
Discussion started by: akash
2 Replies
3. Shell Programming and Scripting
hi friends i want to know details of `exec` exact use of this command .....
actually i went through the man page but i didn`t get the satisfactory ...conclusion....
thaks in advance.... (1 Reply)
Discussion started by: newson
1 Replies
4. UNIX for Dummies Questions & Answers
I just started to learn unix -
need help to write a script to query a logfile and produce the results that
contains a specific word "alarm" for a period from X day to Y day.
I really have no idea how to begin - :(
please help...
____________________________________________________
#... (1 Reply)
Discussion started by: snipfer
1 Replies
5. Shell Programming and Scripting
I would like to use the result of a query in another query. How do I redirect/add the output to another variable?
$result = odbc_exec($connect, $query);
while ($row = odbc_fetch_array($result)) {
echo $row,"\n";
}
odbc_close($connect);
?>
This will output hostnames:
host1... (0 Replies)
Discussion started by: hazno
0 Replies
6. Shell Programming and Scripting
hi
i am producing txt outputs of archives created by our tsm software.
problem is some of these files are too large to open in excel so i can despatch.
here is a example of the output
TAG_460 /prod_bak 7 FILE /ARCHIVE/Whistles- ... (4 Replies)
Discussion started by: treds
4 Replies
7. Shell Programming and Scripting
Hi,
I have a requirement as below which needs to be done viz UNIX shell script
(1) I have to connect to an Oracle database
(2) Exexute "SELECT field_status from table 1" query on one of the tables.
(3) Based on the result that I get from point (2), I have to update another table in the... (6 Replies)
Discussion started by: balaeswari
6 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I have a script to remove null values from a file. Could any one explain how this is working? :confused:
while read f
do
echo process $f
gawk... (0 Replies)
Discussion started by: abhi_n123
0 Replies
9. Shell Programming and Scripting
Hi,
I need to query Oracle database for 100 users. I have these 100 users in a file. I need a shell script which would read this User file (one user at a time) & query database.
For instance:
USER CITY
--------- ----------
A CITY_A
B CITY_B
C ... (2 Replies)
Discussion started by: DevendraG
2 Replies
LEARN ABOUT MOJAVE
context::preserve5.18
Context::Preserve(3) User Contributed Perl Documentation Context::Preserve(3)
NAME
Context::Preserve - run code after a subroutine call, preserving the context the subroutine would have seen if it were the last statement
in the caller
SYNOPSIS
Have you ever written this?
my ($result, @result);
# run a sub in the correct context
if(!defined wantarray){
some::code();
}
elsif(wantarray){
@result = some::code();
}
else {
$result = some::code();
}
# do something after some::code
$_ += 42 for (@result, $result);
# finally return the correct value
if(!defined wantarray){
return;
}
elsif(wantarray){
return @result;
}
else {
return $result;
}
Now you can just write this instead:
use Context::Preserve;
return preserve_context { some::code() }
after => sub { $_ += 42 for @_ };
DESCRIPTION
Sometimes you need to call a function, get the results, act on the results, then return the result of the function. This is painful
because of contexts; the original function can behave different if it's called in void, scalar, or list context. You can ignore the
various cases and just pick one, but that's fragile. To do things right, you need to see which case you're being called in, and then call
the function in that context. This results in 3 code paths, which is a pain to type in (and maintain).
This module automates the process. You provide a coderef that is the "original function", and another coderef to run after the original
runs. You can modify the return value (aliased to @_) here, and do whatever else you need to do. "wantarray" is correct inside both
coderefs; in "after", though, the return value is ignored and the value "wantarray" returns is related to the context that the original
function was called in.
EXPORT
"preserve_context"
FUNCTIONS
preserve_context { original } [after|replace] => sub { after }
Invokes "original" in the same context as "preserve_context" was called in, save the results, runs "after" in the same context, then
returns the result of "original" (or "after" if "replace" is used).
If the second argument is "after", then you can modify @_ to affect the return value. "after"'s return value is ignored.
If the second argument is "replace", then modifying @_ doesn't do anything. The return value of "after" is returned from
"preserve_context" instead.
Run "preserve_context" like this:
sub whatever {
...
return preserve_context { orginal_function() }
after => sub { modify @_ };
}
or
sub whatever {
...
return preserve_context { orginal_function() }
replace => sub { return @new_return };
}
Note that there's no comma between the first block and the "after =>" part. This is how perl parses functions with the "(&@)" prototype.
The alternative is to say:
preserve_context(sub { original }, after => sub { after });
You can pick the one you like, but I think the first version is much prettier.
AUTHOR AND COPYRIGHT
Jonathan Rockway "<jrockway@cpan.org>"
Copyright (c) 2008 Infinity Interactive. You may redistribute this module under the same terms as Perl itself.
perl v5.18.2 2008-01-15 Context::Preserve(3)