in reply to error on system() call???
$ret_val = system(@args) == 0 or die [download]
Note that that is parsed as: $ret_val = ( system(@args) == 0 ) or die and so doesn't actually record the exit status.