Вы можете получить вчерашнюю дату следующим образом:
perl -we'@a=localtime(time-24*3600);printf "%04d%02d%02d", $a[5]+1900, $a[4]+1, $a[3]'
Вы можете использовать это при вызове вашего скрипта в командной строке:
perl myscript.pl -f log.`perl -we'@a=localtime(time-24*3600);printf "%04d%02d%02d", $a[5]+1900, $a[4]+1, $a[3]'`
Но это нечитаемо, и я предлагаю вам написать правильный скрипт, который вычисляет вчерашнюю дату, а затем вызывает myscript.pl.