A simple Expect script to test an FTP server

I'm not going to explain this very much, but here's an Expect script that I wrote to test an FTP server:

#!/usr/bin/expect -f

set verbose_flag 1

set username "al"
set password "password"
set host "localhost"

set files {abc.pdf foo1.jpg foo2.jpg xyz.pdf}

#log_user 0
set timeout -1

send_user "starting ncftp ..."
spawn ncftp -u $username -p $password $host
expect "ncftp*>"

send_user "doing confirm/close ..."
send "set confirm-close no\r"
expect "ncftp*>"

foreach f $files {
  send_user "putting $f ..."
  send "put $f\r"
  expect "ncftp*>"

  send_user "deleting $f ..."
  send "del $f\r"
  expect "ncftp*>"

send_user "saying goodbye ..."
send "bye\r"

The script uses ncftp to connect to the FTP server, but the thing I really like is that I just learned how to echo debug information to me, the user, with the send_user command.

Other than that, the foreach statement and the use of the list is all straight Tcl.