Sponsored Content
Top Forums Shell Programming and Scripting For loop statements order of operations Post 303023767 by scj2012 on Friday 21st of September 2018 09:50:53 PM
Old 09-21-2018
Quote:
Originally Posted by Scott
You're reading the file in sequential order. The order of your if statements is unimportant for the requirement you specified.
Why is that? I thought code was read from top to bottom. So why doesn't hitting the first if statement first doesn't matter?

So basically what you are saying is all the code in the for loop code block is essentially executed at the same time?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

String Operations

Hi All, Query 1 : I want to know how we can get a count of multipe occurrences of a particular expression in another string. For Eg. If my string is " 12" and i need to count the number of spaces preceeding 12 Query 2 : Also want to know how we can change the alignment of a... (9 Replies)
Discussion started by: Rohini Vijay
9 Replies

2. UNIX for Dummies Questions & Answers

File operations

Hi I have a tab delimited file with 3 fields. I need to sort this file on the first field and remove all the records where the first field has dulplicates. For eg my file is 133|arrfdfdg|sdfdsg 234|asfsdgfs|aasdfs 133|affbfsde|dgfg When this file gets sorted I need the result to be ... (2 Replies)
Discussion started by: monks
2 Replies

3. Shell Programming and Scripting

for i loop with conditional statements?

New to scripting in general, so patience plz. If I ask a stupid question or don't get it, I thank you for your kindness in advance. That said, did a for i loops checks to see if a PB* file is there but I need to know two things before I copy the file. I need to know if the file's create date... (2 Replies)
Discussion started by: xgringo
2 Replies

4. Shell Programming and Scripting

is that possible to keep statements in any loop??

Hi, Actually i stored all validdisks in one array and corresponding partitions required for all individual disks in other array.. Example: Validdisks=dsk2 dsk3 dsk5 ValidPartition=4 4 3 Now i have to create domain.. Domain creation can be done by below commands: fs_setup -d... (1 Reply)
Discussion started by: mansa
1 Replies

5. Shell Programming and Scripting

How to execute a no of SELECT COUNT(*) statements using a loop

HI Unix Gurus, I have a number of SELECT count(*) statements in an input file and I want to execute it using a shell script but one by one using loop in script.... How can I do this..... (7 Replies)
Discussion started by: ustechie
7 Replies

6. Shell Programming and Scripting

String operations

Hi All, can you tell me how to drop all preceding zeros in a number. For example, if i have a numbers like 000876838347 and 0000007854762543..how to make them as 876838347 and 7854762543. (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

7. Shell Programming and Scripting

String operations

Can you give me some suggestions to split below string into three parts using shell scripts.. Script has to print all alphabets before the number, then number and then all alphabets after the number.. input: chris martin 200173 845747 mech engineer output: chris martin 200173 845747 mech... (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

8. UNIX for Dummies Questions & Answers

Loop Through Files in Order and mapping

Hi there, How can I loop through files with order. I tried using ls .html | sort -v However the filename is with spaces:1233.61.47.0 - 121.61.123.112 nexpose.html Here is the original code that is working well, but I need to sort through the filename.echo "<center>" for file in *.html... (2 Replies)
Discussion started by: alvinoo
2 Replies

9. Shell Programming and Scripting

2 statements in for loop

Bash shell, variables i and rem are working fine in 2 separate for loops, but I'd like to consolidate them like this: for && This gives syntax error on &&. Thanks in advance for direction. (5 Replies)
Discussion started by: p1ne
5 Replies

10. Shell Programming and Scripting

Bash directory loop and order by creation date?

Hello, how in bash i can get directory loop and order by creation date? THX! :) #!/bin/bash for folder in /home/test/* do if ; then echo $folder; fi (12 Replies)
Discussion started by: ZerO13
12 Replies
JE::Parser(3pm) 					User Contributed Perl Documentation					   JE::Parser(3pm)

NAME
JE::Parser - Framework for customising JE's parser SYNOPSIS
use JE; use JE::Parser; $je = new JE; $p = new JE::Parser $je; # or: $p = $je->new_parser $p->delete_statement('for', 'while', 'do'); # disable loops $p->add_statement(try => &parser); # replace existing 'try' statement DESCRIPTION
This allows one to change the list of statement types that the parser looks for. For instance, one could disable loops for a mini- JavaScript, or add extensions to the language, such as the 'catch-if' clause of a "try" statement. As yet, "delete_statement" works, but I've not finished designing the API for "add_statement". I might provide an API for extending expressions, if I can resolve the complications caused by the 'new' operator. If anyone else wants to have a go at it, be my guest. :-) METHODS
$p = new JE::Parser Creates a new parser object. $p->add_statement($name, &parser); This adds a new statement (source element, to be precise) type to the list of statements types the parser supports. If a statement type called $name already exists, it will be replaced. Otherwise, the new statement type will be added to the top of the list. ($name ought to be optional; it should only be necessary if one wants to delete it afterwards or rearrange the list.) If the name of a statement type begins with a hyphen, it is only allowed at the 'program' level, not within compound statements. Function declarations use this. Maybe this convention is too unintuitive.... (Does anyone think I should change it? What should I change it too?) &parser will need to parse code contained in $_ starting at "pos()", then either return an object, list or coderef (see below) and set "pos()" to the position of the next token[1], or, if it could not parse anything, return undef and reset "pos()" to its initial value if it changed. [1] I.e., it is expected to move "pos" past any trailing whitespace. The return value of &parser can be one of the following: 1) An object with an "eval" method, that will execute the statement, and/or an "init" method, which will be called before the code runs. 2) (Not yet supported!) A coderef, which will be called when the code is executed. 3) (Not yet supported.) A hash-style list, the two keys being "eval" and "init" (corresponding to the methods under item 1) and the values being coderefs; i.e.: ( init => &init_sub, eval => &eval_sub ) Maybe we need support for a JavaScript function to be called to handnle the statement. $p->delete_statement(@names); Deletes the given statement types and returns $p. $p->statement_list (Not yet implemented.) Returns an array ref of the names of the various statement types. You can rearrange this list, but it is up to you to make sure you do not add to it any statement types that have not been added via "add_statement" (or were not there by default). The statement types in the list will be tried in order, except that items beginning with a hyphen always come before other items. The default list is "qw/-function block empty if while with for switch try labelled var do continue break return throw expr/" $p->parse($code) Parses the $code and returns a parse tree (JE::Code object). $p->eval($code) Shorthand for $p->parse($code)->execute; EXPORTS
None by default. You may choose to export the following: Exported Variables ... blah blah blah ... Exported Functions These all have "()" for their prototype, except for "expected" which has "($)". ... blah blah blah ... SYNTAX ERRORS
(To be written) expected 'aaaa'; # will be changed to 'Expected aaaa but found....' die \"You can't put a doodad after a frombiggle!"; # complete message die 'aoenstuhoeanthu'; # big no-no (the error is propagated) EXAMPLES
Mini JavaScript This is an example of a mini JavaScript that does not allow loops or the creation of functions. use JE; $j = new JE; $p = $j->new_parser; $p->delete_statement('for','while','do','-function'); Since function expressions could still create functions, we need to remove the Function prototype object. Someone might then try to put it back with "Function = parseInt.constructor", so we'll overwrite Function with an undeletable read-only undefined property. $j->prop({ name => 'Function', value => undef, readonly => 1, dontdel => 1 }); Then, after this, we call "$p->eval('...')" to run JS code. Perl-style for(LIST) loop Well, after writing this example, it seems to me this API is not sufficient.... This example doesn't actually work yet. use JE; use JE::Parser qw'$s ident expr statement expected'; $j = new JE; $p = $j->new_parser; $p->add_statement('for-list', sub { /Gfor$s/cog or return; my $loopvar = ident or return; /G$s($s/cog or return; my @expressions; do { # This line doesn't actually work properly because # 'expr' will gobble up all the commas @expressions == push @expressions, expr and return; # If nothing gets pushed on to the # list, we need to give the default # 'for' handler a chance, instead of # throwing an error. } while /G$s,$s/cog; my $statement = statement or expected 'statement'; return bless { var => $loopvar, expressions => @expressions, statement => $statement }, 'Local::JEx::ForList'; } ); package Local::JEx::ForList; sub eval { my $self = shift; local $JE::Code::scope = bless [@$JE::Code::scope], 'JE::Scope'; # I've got to come up with a better interface than this. my $obj = $JE::Code::global->eval('new Object'); push @$JE::Code::scope, $obj; for (@{$self->{expressions}}) { $obj->{ $self->{loopvar} } = $_->eval; $self->{statement}->execute; } } SEE ALSO
JE and JE::Code. perl v5.14.2 2012-03-18 JE::Parser(3pm)
All times are GMT -4. The time now is 01:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy