Sponsored Content
Full Discussion: until loop Perl
Top Forums Shell Programming and Scripting until loop Perl Post 302450740 by durden_tyler on Friday 3rd of September 2010 03:57:10 PM
Old 09-03-2010
Quote:
Originally Posted by cold_Que
...Set a variable to 1 if you hit this character if the variable is 0 by default then print

while(<FILE>)
{
$x=1 if(/\*/);
if($x==0){print;}
}
...
$x is undefined at that point, but the equality condition is true which is why it prints.

You could do the same without a sentinel variable.

Code:
#perl -w
open(F, "f1") or die "Can't open f1: $!";
while (<F>) {
  unless (/\*/) {
    print;
  } else {
    last;
  }
}
close(F) or die "Can't close f1: $!";

or

Code:
#perl -w
open(F, "f1") or die "Can't open f1: $!";
$_ = <F>;
until (/\*/) {
  print;
  $_ = <F>;
}
close(F) or die "Can't close f1: $!";

come to mind.

tyler_durden
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

help with perl while loop

Can anyone tell me why this program won't kick out when the time gets beyond time in the loop? sub showtime { local($format,$military)=@_; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); if ((! $military) &amp;&amp; ($hour &gt; 12)) {$hour-=12;} ... (2 Replies)
Discussion started by: methos
2 Replies

2. Shell Programming and Scripting

for loop in perl

my $i; my $j; for($i=1;$i<=5;$i++) { for($j=$i;$j<5;$j++) { print " "; } print "$i\n"; } But the output i need is 1 12 123 1234 12345 Help me please (5 Replies)
Discussion started by: priyas
5 Replies

3. Shell Programming and Scripting

perl loop keeps getting stuck

I am using a Perl script to open a series of files in a loop, separate the paragraph into lines, and output the lines into a new file. The code works perfectly fine, except when the source file is over a certain size the loop gets stuck and won’t move on to the next file. It still does what it is... (0 Replies)
Discussion started by: renthead720
0 Replies

4. Shell Programming and Scripting

Perl - pass shell-vars into perl for input loop

I need to process a file line-by-line using some value from a shell variable Something like:perl -p -e 's/$shell_srch/$shell_replace/g' input.txt I can't make the '-s' work in the '-p' or '-n' input loop (or couldn't find a syntaxis.) I have searched and found... (4 Replies)
Discussion started by: alex_5161
4 Replies

5. Infrastructure Monitoring

Perl Loop Problem

Another newbie question... I can not figure out how to get this running using a loop. Here is what I have now. #!/usr/bin/perl use SNMP::Info; $list="list.list"; open(DAT, $list) || die("Can't Open List"); @raw_data=<DAT>; close(DAT); foreach $dest (@raw_data) {... (2 Replies)
Discussion started by: mrlayance
2 Replies

6. Shell Programming and Scripting

Help with PERL loop

I wrote a script to list all lines in a file with Perl. I am having trouble with the looping part of it. My script is supposed to look at the file and as long as the file is larger than the current line it prints a new line. I am getting an error that won't stop on the while line of my code I... (4 Replies)
Discussion started by: zero3ree
4 Replies

7. Programming

while loop perl

I am trying to create a success and fail as below in a perl script : while echo$? is 2 it should append as below to .fail file ===================== if ( open(IN, "$outputfile")) { while( $my_line = <IN> ) { #print "$my_line \n" ; return 0; ... (3 Replies)
Discussion started by: sriram003
3 Replies

8. Shell Programming and Scripting

While Loop in Perl

Hi All I am reading the file using while loop in Perl someting like while (my $s=<F>){ chomp($s); .. .. .. } What i want to do is after the chomp statement i used some condition, if the condition is met then it should move forward otherwise it should read the new line. How Can it be... (4 Replies)
Discussion started by: parthmittal2007
4 Replies

9. Shell Programming and Scripting

perl while loop for each

I have the below scenario in perl cd $FIDE_RECEIVE ; # see the files that start with feedmgr.usfed.tips $CycleDate = &fi_get_curr_date('US','NIGHTLY_CYCLE','PROCESS'); head -1 GNM_GEO.DAT.EMBS* |grep -v GNM_GEO.DAT.EMBS | awk '{$4 " " $5}' output for above command :... (3 Replies)
Discussion started by: ptappeta
3 Replies

10. Shell Programming and Scripting

Perl loop until

I have a script that needs to wait on another script to finish. I created a sub routine to check the file for the number 0 but my until statement keeps on going. I tried eq, == and =~ but same thing. my $CHECKING_FILE = 1; do { sleep(5); $CHECKING_FILE = check_file(); ... (2 Replies)
Discussion started by: numele
2 Replies
asa(1)							      General Commands Manual							    asa(1)

NAME
asa - interpret ASA carriage control characters SYNOPSIS
[files] DESCRIPTION
interprets the output of FORTRAN programs that utilize ASA carriage control characters. It processes either the files whose names are given as arguments, or the standard input if is specified or if no file names are given. The first character of each line is assumed to be a control character. The following control characters are interpreted as indicated: (blank) Output a single new-line character before printing. (space) (UNIX Standard only, see standards(5)) The rest of the line will be output without change. A <newline> shall be output, then the rest of the input line. Output a new-page character before printing. Overprint previous line. (UNIX Standard only, see standards(5)) The <newline> of the previous line shall be replaced with one or more implementation-defined characters that causes printing to return to column position 1, followed by the rest of the input line. If the + is the first character in the input, it shall have the same effect as <space>. Lines beginning with other than the above characters are treated the same as lines beginning with a blank. The first character of a line is printed. If any such lines appear, an appropriate diagnostic is sent to standard error. This program forces the first line of each input file to start on a new page. (UNIX Standard only, see standards(5)) The action of the asa utility is unspecified upon encountering any character other than those listed above as the first character in a line. To view the output of FORTRAN programs which use ASA carriage control characters and have them appear in normal form, can be used as a fil- ter: The output, properly formatted and paginated, is then directed to the line printer. FORTRAN output previously sent to a file can be viewed on a user terminal screen by using: EXTERNAL INFLUENCES
For information about the UNIX standard environment, see standards(5). Environment Variables determines the interpretation of text within file as single- and/or multi-byte characters. determines the language in which messages are displayed. If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty variable. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C". See environ(5). International Code Set Support Single- and multi-byte character code sets are supported. SEE ALSO
efl(1), f77(1), ratfor(1), standards(5). STANDARDS CONFORMANCE
asa(1)
All times are GMT -4. The time now is 03:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy