title: SAS Input Statement
body: <p>I have an autoexec file that encrypts my password when I'm connecting to different servers....the code looks as follows:</p>
  
  <pre><code>%global wspwd ewspwd hpwd ehpwd ;
  
  /* Enter WORKSTATION Password Below */
  filename ewspwdfl "/home/&amp;sysuserid./ewspwd.txt" ;
  proc pwencode in=’XXXXXXXX’ out=ewspwdfl ; run ;
  data _null_ ;
      infile ewspwdfl obs=1 length=l ;
      input @ ;
      input @1 line1 $varying1024. l ;
      call symput('ewspwd',cats(substr(line1,1,l))) ;
      call symput('wspwd',cats(‘XXXXXXXX’)) ;
  run ; 
  </code></pre>
  
  <p>My question is: why is</p>
  
  <pre><code>input @ ; 
  </code></pre>
  
  <p>included and why</p>
  
  <pre><code>input @1 line1 $varying1024. l ;
  </code></pre>
  
  <p>doesn't suffice.</p>
  
  <p>Whenever I have created datasets with SAS I have never had to include "input @;" in my statement. I just simply write something along the lines of: </p>
  
  <pre><code>input @1 firstname $ @15 lastname $ @30 date mmddyy6.;
  </code></pre>