So I don't always program in Perl. Once a week, we have to do this, and I don't want everyone who uses this labor-saving device to come back to me for maintenance. Therefore it was easier to write it in Windows NT CMD.
Here it is in case it might be useful to others:
@echo off
SETLOCAL
for
for
SET _DATVER=%1
SET
SET _LOGFILE=getdat.txt
SET _FTPSITE=proxy.mysite.com
SET _FTPDIR=/pub/antivirus/datfiles/4.x
SET _FTPPASS=me@mysite.com
SET _FTPUSER=anonymous@ftp.nai.com
SET _FTPCOMMANDS=ftpcmds.txt
echo.
echo Download weekly DAT files from NAI to current directory.
echo usage: %0 ^
echo where: ^ is a 4 digit number, for example 4178
echo.
echo Session logged to "%CD%\%_LOGFILE%".
echo press Ctrl-C now if you don't want to run this.
pause
echo Download in progress.
echo open %_FTPSITE% > %_FTPCOMMANDS%
echo %_FTPUSER%>> %_FTPCOMMANDS%
echo %_FTPPASS% >> %_FTPCOMMANDS%
echo binary >> %_FTPCOMMANDS%
echo get %_FTPDIR%/delta.ini >> %_FTPCOMMANDS%
echo get %_FTPDIR%/update.ini >> %_FTPCOMMANDS%
echo get %_FTPDIR%/%_INCREMENTAL%%_DATVER%.upd >> %_FTPCOMMANDS%
echo get %_FTPDIR%/dat-%_DATVER%.tar >> %_FTPCOMMANDS%
echo get %_FTPDIR%/dat-%_DATVER%.zip >> %_FTPCOMMANDS%
echo get %_FTPDIR%/sdat%_DATVER%.exe >> %_FTPCOMMANDS%
echo close >> %_FTPCOMMANDS%
echo quit >> %_FTPCOMMANDS%
echo. > "%_LOGFILE%"
echo %_TGT_TIME%, %_TGT_DATE% >> "%_LOGFILE%"
echo. >> "%_LOGFILE%"
echo %0 was called with %* >> "%_LOGFILE%"
echo. >> "%_LOGFILE%"
echo Input file: >> "%_LOGFILE%"
echo. >> "%_LOGFILE%"
type %_FTPCOMMANDS% >> "%_LOGFILE%"
echo. >> "%_LOGFILE%"
echo Generated activity: >> "%_LOGFILE%"
echo. >> "%_LOGFILE%"
%SYSTEMROOT%\system32\ftp.exe -i -d -s:%_FTPCOMMANDS% >> "%_LOGFILE%" 2>&1
DEL %_FTPCOMMANDS%
echo Download complete.