LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (November 2010, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Sun, 28 Nov 2010 14:27:08 -0500
Reply-To:     Nat Wooding <nathani@VERIZON.NET>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Nat Wooding <nathani@VERIZON.NET>
Subject:      Re: the line holder @
In-Reply-To:  <000401cb8f2f$3f7cf5e0$be76e1a0$@com>
Content-Type: text/plain; charset="US-ASCII"

Max

Try running the following code Data Max; /* the input file is

1 11 22 2 222 333 3 4 5 6 7 */ Filename indd 'C:\park\max.txt'; infile indd missover; input x @; input y @; output; input x; output; run; proc print; run;

It appears to support your interpretation of the events. The third input statement reads the third value on the first line in the input file. Then, the data step cycles and SAS reads the next input line.

There is one more point that could be made which would be if we wrote

Input x @; Input / y @;

The first @ would be effectively ignored.

Nat Wooding

-----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of bbser2009 Sent: Sunday, November 28, 2010 2:06 PM To: SAS-L@LISTSERV.UGA.EDU Subject: the line holder @

Consider this saying about @ from the book by Cody and Smith (5th, P361):

(The line holder @ tells SAS to) not move the pointer to the next record until an INPUT statement without a trailing @ is reached or until the next iteration of the DATA step begins.

I think the first "until" clause is misleading. It reads like once SAS met the INPUT statement without the trailing @, the line pointer would move to the next record and the input statement would read that new record. Do you agree?

Anyway, I guess the first "until" clause should be replaced by something like this: ... until an INPUT statement without a trailing @ HAS BEEN EXECUTED ...

Well, this sounds more like an English language question. Since I am not a native English speaker, your comments will help me clear my doubts.

Thanks a lot.

Max


Back to: Top of message | Previous page | Main SAS-L page