Не разветвляйте внешние команды (например, 'date' и 'more'), чтобы делать то, что Perl может сделать по своей природе. Как уже отмечалось, вы можете использовать функцию strftime () модуля POSIX для форматирования отметки времени, полученной из локального времени вашего сервера.
Для open () используйте безопасную форму с тремя аргументами:
open (FILE, '<', $grabDIR$grabFILE) or die "Can't open $grabDIR$grabFILE: $!\n";
Это открывается для ввода и, если происходит ошибка, сообщает об этом (через '$!') И умирает. Вместо дескриптора файла с пустым словом (например, ФАЙЛ) используйте автовифицированный, например:
open (my $fh, '<', $grabDIR$grabFILE) or die "Can't open $grabDIR$grabFILE: $!\n";
while (<$fh>) {
...
См. Perlopentut для получения дополнительной информации: perlopentut