I have lost track from who this was originally sent, but this is what I think is wrong with your script (the original script).
1. open requires 2 arguments, you had 1. So you may want to re-write your open stmt as: open FTPSCR, "|ftp -n -v $hostname > ftplog\n"; #insert a comma As a precaution, I always use open (FTPSCR, "|ftp -n -v $hostname > ftplog\n") || die "\n I have a head-ache\n\n"; ---------------------------------------------- 2. I have not used this: print FTPSCR "lcd $destdir\n"; before, but I am assuming it works. --------------------------------------------- 3. It should work now. ------------------------------------- Alternatively, I always use macdef init with a .netrc file. This prevents the USER-ID and PASSWORD from appearing in "ps -ef". This is my approach: 1. Users have secured .netrc file (permission set to -rw-------) 2. My perl program wil then look like: #!/opt/local/bin/perl $hostname = 'mvscs1'; $username = $ENV{USER}; $ftp_inst_file = "foo.txt"; #..................................... open ( INSTR, "> $ftp_inst_file") || die "\n Could not open $ftp_inst_file\n\n"; print INSTR <<EOF bin get UNNAMED.FIG ls by EOF ; close (INSTR); open (FTPSCR, "|ftp -v $hostname < $ftp_inst_file > ftplog\n"); #I redirect the request. close FTPSCR; #this allows me to test the request file if I want # You can then destroy the request file if you are satisfied that the program works well. __________________ William Ampeh (x3939) Federal Reserve Board -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]