Несколько раз в сутки требуется запускать одну подпрограмму в определенное время
На скорую руку набросал так
SUB(tak)
// куча кода
$p = 2 // после выполнения изменяем переменную
END_SUB
// это кусок кода из бесконечного цикла
IF(($_time_h = 6) & ($_time_m > 0) & ($_time_m < 20) & ($p < 2))
tak()
END_IF
IF(($_time_h = 14) & ($_time_m > 0) & ($_time_m < 20) & ($p < 2))
tak()
END_IF
IF(($_time_h = 22) & ($_time_m > 0) & ($_time_m < 20) & ($p < 2))
tak()
END_IF
IF(($_time_h = 7) ^ ($_time_h = 15) ^ ($_time_h = 23))
$p = 0
END_IF
Сейчас захотелось оптимизировать, ибо слишком глупо и громоздко
Сделал так
// при запуске скрипта в самом начале добавил переменную
$p = 0
// чтобы при первом запуске отработало
IF((($_time_h = 6) ^ ($_time_h = 14) ^ ($_time_h = 22)) & ($p = 0))
tak()
END_IF
IF(($_time_h ! 6) & ($_time_h ! 14) & ($_time_h ! 22))
$p = 0
END_IF
Работает только если запускаю непосредственно в нужные часы, т.е. замечаю что нифига не отрабатывает, выключаю скрипт, включаю - выполнилось. Если скрипт запускаю в 23 и иду спать, то утром вижу, что в 6 нифига не отработало, хотя все остальное выполняется. Может я чего-то недопонимаю и не так написал?
Помогите разобраться )