Sponsored Content
Top Forums Shell Programming and Scripting Diamond operator in Until Statement (perl) Post 302267492 by otheus on Friday 12th of December 2008 01:09:05 PM
Old 12-12-2008
Back to your original question (which you think you solved)...

Quote:
Originally Posted by erichpowell
Code:
            print $2;
            my $nxtLine = <$IN>;
            until ($nxtLine =~ /(-!-)/) {
                $nxtLine =~ /CC *(.*)/;
                print $1;
                $nxtLine = <$IN>;

First, I recommend against using a $ inside a file descriptor ($IN). This makes it look like something is happening that isn't: namely, file descriptors ARE NOT SCALAR VARIABLES in Perl. They are a class of variables in their own right. What's really happening is, I think, $IN is evaluating into undef, so that you have:
Code:
 while (<>) { 
...
 my $nxtLine = <>;

and so on.

As you noted, the <> is an operator that reads a line from the filedescriptor in between the brackets, or if none given, from the next command given on the command line, or if none are present, from STDIN (standard input, that is, piped or redirected input).

So $IN I think is going to make things confusing. Just use "IN" here.

Or, better yet,use the command line and the aforementioned feature:
[code]
$ your_perl_script.pl Batch*
[code]
And in your code:
Code:
while (<>) { 
...
 my $nxtLine = <>;
...

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

scalar variable assignment in perl + { operator

When reading over some perl code in a software document, I came across an assignment statement like this $PATH = ${PROJECT}/......./.... In this particular form of scalar variable assignment, what does the curly braces operators do ? Also, what is the benefit in doing scalar assignment this... (3 Replies)
Discussion started by: JamesGoh
3 Replies

2. Shell Programming and Scripting

chomp like Perl operator in Bash

I am sure there should exist a chomp like Perl operator in Bash using which I can literally remove new line characters as show below: Any clue? (3 Replies)
Discussion started by: paragkalra
3 Replies

3. Shell Programming and Scripting

cannot properly employ "or" operator in an if statement (bash)

Hi, I have a variable, $sername, and I would like to display this variable only if it *does not* contain either of these two tags: *DTI*FA* or *DIFF*FA*. I think the syntax for my 'or' operator is off. The variable $sername is continuously changing in an outer loop (not shown), but at the... (4 Replies)
Discussion started by: goodbenito
4 Replies

4. Shell Programming and Scripting

Perl Diamond Operator

I know that when using 'while (<FILE>) {}', Perl reads only one line of the file at one time, and store it in '$_'. Can I change some parameters so that 'while (<>) {}' can read more than one lines, like 2 or 5 lines at one time? Thanks for the help! (1 Reply)
Discussion started by: zx1106
1 Replies

5. Shell Programming and Scripting

How to write If statement using && and operator in Unix

Hi What is the syntax for if statement using && and || operator? if && ] || here its giving me an error to this if statement any suggestion?? (2 Replies)
Discussion started by: Avi
2 Replies

6. UNIX for Dummies Questions & Answers

awk if statement / equals operator

Hi, I was hoping someone could explain this please :) I'm using bash, scientific linux... and I don't know what else you need to know. With awk '{ if( 0.3 == 0.1*3) print $1}' file.dat nothing will be printed since apparently the two numbers do not equate. (Using 0.3 != 0.1*3 is seen... (4 Replies)
Discussion started by: Golpette
4 Replies

7. Shell Programming and Scripting

awk diamond code golf (just for fun!)

Hey guys, This is purely just a little bit of fun with awk. I realize this this isn't that constructive so please remove if need be. Your goal: Create a one line awk script that generates a diamond shape of any size. Both the size of the diamond (measured by its middle line) and the... (7 Replies)
Discussion started by: pilnet101
7 Replies

8. Shell Programming and Scripting

Like operator in IF statement

how can i use like operator in IF statement. Below is correct format, please guide if ; then CT_ACT_FILE_NAME=`echo FINACLE' else CT_ACT_FILE_NAME=`echo not listed' fi ---------- Post updated at 04:58 PM ---------- Previous update was at 04:56 PM ---------- Please use CODE... (6 Replies)
Discussion started by: rizwan.shaukat
6 Replies

9. Shell Programming and Scripting

To print diamond asterisk pattern based on inputs

I have to print the number of stars that increases on each line from the minimum number until it reaches the maximum number, and then decreases until it goes back to the minimum number. After printing out the lines of stars, it should also print the total number of stars printed. I have tried... (13 Replies)
Discussion started by: rohit_shinez
13 Replies
compact(1)						      General Commands Manual							compact(1)

Name
       compact, uncompact, ccat - compress and uncompress files, and cat them

Syntax
       compact [name...]
       uncompact [name...]
       ccat [file...]

Description
       The  command compresses the named files using an adaptive Huffman code.	If no file names are given, the standard input is compacted to the
       standard output.  The command operates as an on-line algorithm.	Each time a byte is read, it is encoded immediately according to the  cur-
       rent  prefix  code.   This code is an optimal Huffman code for the set of frequencies seen so far.  It is unnecessary to prepend a decoding
       tree to the compressed file since the encoder and the decoder start in the same state and stay synchronized.  Furthermore, and can  operate
       as filters.  In particular,
	    ... | compact | uncompact | ...
       operates as a (very slow) no-op.

       When  an  argument file is given, it is compacted and the resulting file is placed in file.C; file is unlinked.	The first two bytes of the
       compacted file code the fact that the file is compacted.  This code is used to prohibit recompaction.

       The amount of compression to be expected depends on the type of file being compressed.  Typical values of compression are: Text (38%), Pas-
       cal Source (43%), C Source (36%) and Binary (19%).  These values are the percentages of file bytes reduced.

       The command restores the original file from a file compressed by If no file names are given, the standard input is uncompacted to the stan-
       dard output.

       The command cats the original file from a file compressed by without uncompressing the file.

       The command is present only for compatibility.  In general, the command runs faster and gives better compression.

Restrictions
       The last segment of the file name must contain fewer than thirteen characters to allow space for the appended '.C'.

Files
       compacted file created by compact, removed by uncompact

See Also
       compress(1)

																	compact(1)
All times are GMT -4. The time now is 07:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy