Sponsored Content
Top Forums Shell Programming and Scripting Perl - pass shell-vars into perl for input loop Post 302405686 by alex_5161 on Friday 19th of March 2010 02:11:12 PM
Old 03-19-2010
Quote:
Originally Posted by durden_tyler
Is this what you are looking for ?
Yes, it is exactly what my example tying to do.
But I am looking for more general way to pass vars.
This way I should escape all special characters that shell would interpret to be passed to perl.
For example:
Code:
v1=25; 
v2=30;
perl -ne "chomp; print \"\\nLine is:\$_\; \\\$v1=$v1\; \\\$v2=$v2\"; \
  print \"\\n summ=\".($v1+$v2); "  infl.txt

(I think the '-l' is not necessary or it is?)
This way it works, but it is uglee and hard to prepare and debug!

---------- Post updated at 01:11 PM ---------- Previous update was at 12:49 PM ----------

Just found some simplifying with the double-qoutes: it is possible to comby the perl command by multiple quoted strings:
Code:
> v1=25;
> v2=30;
> perl -ne 'BEGIN{$v1='"$v1"'; $v2='"$v2"';} chomp; print "$_ | summ=".($v1+$v2)."\n"' input.txt
line one | summ=55
line two | summ=55
third line  | summ=55
one more line | summ=55
>

This is usefull already, but it is still way around!
It should be a way to do it simpler!

Anybody know?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Difference between use vars and our variable in PERL

What is the difference between defining the global variable through our and using use vars ? Is the variable created using our goes beyond even package scope? Thanks in Advance !!! (3 Replies)
Discussion started by: jatanig
3 Replies

2. Shell Programming and Scripting

Can we pass an array of strings from a Perl Program to a Shell Script?

Hi Folks, The subject is my question: Can we pass an array of strings from a Perl Program to a Shell Script? Please provide some sample code. Thanks ---------- Post updated at 11:52 PM ---------- Previous update was at 11:43 PM ---------- I got it. Its here:... (0 Replies)
Discussion started by: som.nitk
0 Replies

3. Shell Programming and Scripting

pass perl variables to shell script

I have a perl script that opens a text file containing numbers on each line: for example: 755993 755994 755995 755996 755997 755998 The perl script takes these numbers and store them as an array @raw_data, where I can access individual numbers by using $raw_data for the value 755993.... (2 Replies)
Discussion started by: xchen89x
2 Replies

4. Shell Programming and Scripting

perl how to exit a while loop and quit reading the input file

I am reading a file using While loop while <FILE> { $_ = <FILE>; process data... } I would like to quit reading the file once I encounter a String pattern. How do i do it. is it if (/SUMMARY/) { last; } I am having problems with uninitialized value in pattern... (1 Reply)
Discussion started by: subhap
1 Replies

5. Shell Programming and Scripting

Set/Export Env Vars from with Shell Script With Input Variable

I have a shell script I want to run that will set environment variables based on the value of an input variable submitted when the shell script is called. For example: $ mgenv.sh prod This would set environment variables for prod $ mgenv.sh test This would set environment variables... (1 Reply)
Discussion started by: brtaylor73
1 Replies

6. Shell Programming and Scripting

need shell or Perl script to read multiple input

I need shell 0r Perl script to read multiple input and do something and come out example: echo “ enter the host names separated by space “ read servers foreach @servers { do do something done} Here host names like host1 host2 host3 . . . . . . . so on Please help me... (8 Replies)
Discussion started by: sreedhargouda
8 Replies

7. Shell Programming and Scripting

Pass string arg from shell to perl

My shell script generates a bunch of lines of text and passes this text as an argument to a perl script. I'm able to do this, but for some reason newlines don't get recognized in the perl script and so the script just prints actual '\n' instead of carriage returning, otherwise everything gets... (3 Replies)
Discussion started by: stevensw
3 Replies

8. Shell Programming and Scripting

Shell/Perl logic for loop

Hi, I have a requirement as follows. Have 3 files. Need to match up the data in each one of them and sum up the data by a field and display it. example given below. File 1 : Name, Emp id File 2 : Empid, Subject, File 3 : Subject, Score, Class Match Emp id in File 1 and File 2 and then... (7 Replies)
Discussion started by: preethgideon
7 Replies

9. Shell Programming and Scripting

Shell or Perl Loop Screenshot URLs

I am trying to capture screenshots from a huge list of URLs. I am able to manually capture images of individual pages; that is, I simply run the following command to get a screenshot of Foo.com $ python /path/to/screencapture.sh http://www.foo.com I want to modify the script so that instead of... (2 Replies)
Discussion started by: chipperuga
2 Replies

10. Shell Programming and Scripting

Converting shell to Perl I run into shell built in function trap and need alternative in Perl

I am working on converting shell to Perl script. In shell we have built in function trap Do you know alternative in Perl or actually we don't need it? Thanks for contribution (3 Replies)
Discussion started by: digioleg54
3 Replies
Tree::Simple::Visitor::PostOrderTraversal(3pm)		User Contributed Perl Documentation	    Tree::Simple::Visitor::PostOrderTraversal(3pm)

NAME
Tree::Simple::Visitor::PostOrderTraversal - A Visitor for post-order traversal a Tree::Simple hierarchy SYNOPSIS
use Tree::Simple::Visitor::PostOrderTraversal; # create an visitor my $visitor = Tree::Simple::Visitor::PostOrderTraversal->new(); # pass our visitor to the tree $tree->accept($visitor); # print our results print join ", " => $visitor->getResults(); # this will print this: # 1.1.1 1.1 1.2 1 2.1 2 3.1 3 # assuming your tree is like this: # 1 # 1.1 # 1.1.1 # 1.2 # 2 # 2.1 # 3 # 3.1 DESCRIPTION
Post-order traversal is a variation of the depth-first traversal in which the sub-tree's are processed before the parent. It is another alternative to Tree::Simple's "traverse" method which implements a depth-first, pre-order traversal. METHODS
new There are no arguments to the constructor the object will be in its default state. You can use the "setNodeFilter" method to customize its behavior. includeTrunk ($boolean) Based upon the value of $boolean, this will tell the visitor to include the trunk of the tree in the traversal as well. setNodeFilter ($filter_function) This method accepts a CODE reference as its $filter_function argument and throws an exception if it is not a code reference. This code reference is used to filter the tree nodes as they are collected. This can be used to customize output, or to gather specific information from a more complex tree node. The filter function should accept a single argument, which is the current Tree::Simple object. visit ($tree) This is the method that is used by Tree::Simple's "accept" method. It can also be used on its own, it requires the $tree argument to be a Tree::Simple object (or derived from a Tree::Simple object), and will throw and exception otherwise. getResults This method returns the accumulated results of the application of the node filter to the tree. BUGS
None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it. CODE COVERAGE
See the CODE COVERAGE section in Tree::Simple::VisitorFactory for more inforamtion. SEE ALSO
These Visitor classes are all subclasses of Tree::Simple::Visitor, which can be found in the Tree::Simple module, you should refer to that module for more information. AUTHOR
stevan little, <stevan@iinteractive.com> COPYRIGHT AND LICENSE
Copyright 2004, 2005 by Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2005-07-14 Tree::Simple::Visitor::PostOrderTraversal(3pm)
All times are GMT -4. The time now is 04:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy