Chad Perrin wrote:
On Wed, Jul 05, 2006 at 11:31:55AM -0500, Kevin Viel wrote:

Mr. Shawn H. Corey wrote:

Kevin Viel wrote:


I call a perl script from SAS using a pipe.  The file on which the
script acts changes.  Is there a way to provide the file name to the
script using STDIN on the command line?  The SAS call looks like:

filename ABI pipe "perl C:/base.ps" ;

For now, I altered the script to read a text file containing the file
name, but this is wasteful.  I appreciate any comments.



I'm not exactly sure what you're asking but try this:

my $filename = <STDIN>;
chomp $filename;
@ARGV = ( $filename );
while(<>){
...
}

That should work, but I cannot use the keyboard to provide the STDIN. Instead I was hoping for something like:

filename ABI pipe "perl C:/base.ps >file.ab1" ;


About the easiest way to get information from a file specified at the
command line, as far as I'm aware, is via  while loop like so:

  while(<>) {
    do stuff;
  }

If that's the beginning of your program, it will automatically grab the
contents of a file specified by name as a command line argument one line
at a time, and exit the while loop when EOF is reached.  The lines of
the file, as the example loop is written above, are on each iteration
assigned to the $_ scalar variable.

This is especially handy since, if you don't specify a filename, it
defaults back to taking input from the keyboard as though you had used
the STDIN filehandle.

I apologize.  I have not it sufficiently clear.

I have a SAS program that processes many thousands of files. However, I found a perl module the greatly decreases my need for disk space. I use a pipe in SAS to run perl. I only need to direct perl to the file of interest.

I was hoping that I could include STDIN as a one-liner, perhaps by issuing the -e option, since I am sending the call for perl using a SAS pipe and not the command line.

I use SAS to supply the name of the file for me and to write this actual line:

filename ABI pipe "perl C:/base.ps >file.ab1" ;


Thanks for all of the input,

Kevin

--
Kevin Viel
Department of Genetics                       [EMAIL PROTECTED]
Southwest Foundation for Biomedical Research phone:  (210)258-9884
P.O. Box 760549                              fax:    (210)258-9444
San Antonio, TX 78245-0549

Kevin Viel
PhD Candidate
Department of Epidemiology
Rollins School of Public Health
Emory University
Atlanta, GA 30322

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to