Hello Gurus, Source code: of printFile.pl ######### File: printFile.pl ################## #! /usr/bin/perl -w my (@data, $user);
# Input rediretion file $user = (defined @ARGV) ? shift @ARGV : "Anonymous"; # I don't wish to prompt by program, but it's still waiting how to Step Over here @data = <STDIN> if ( defined <STDIN>); die " perl $0 < data.txt" if (@data); print "User: $user \n"; foreach (@data){ print $_; } 1; ########### EOF ############# I have a perl scripts, which expects the input file as redirection at command line. i.e., [user3@Linux] # perl printFile.pl < data.txt => This will display the inputed file content, if file name is piped as redirection. => Otherwise, program will wait to accept the file. => So, I don't want program prompt for the file name, => I would like to check the file name is given or not. => But, becuase of <STDIN> statement in program to dump the content of the file into Array, will cause to wait if " < data.txt" is missing at command line. => It's very easy, if @ARGV checking, will have the command line parameters. But, it 's not in command line paramenters list. => It is input redirection. <=> How to check the input direction is given or not in perl, @ = <STDIN>; => like @ = <STDIN> if ( defined <STDIN> ); But this will not full fill the requirement, because, it's prompting for input, if redirection missing at commandline. Please, kindly give me suggestions to proceed. Thanks in advance. Regards, ~ SubbaReddy .M Sr. Programmer, Frontlinesoft, Hyderabad http://www.frontlinesoft.com Ph: 91-40-3392147, 3391683 (O) 91-40-3307980 ( R) w3page: http://www.geocities.com/msubbareddy/ ICQ: 56093095