If it is a short sketch, then call it "previousMillis", so we can recognize it as a millis-timer.
The Blink Without Delay uses "previousMillis".
!< u
Translated: un-less you like crazy names
If you do (millis() % 100 == 0) then it may never happen, since there is a correction for the time. Some values are never returned by millis(). If the code in the loop() takes some time, then that moment could be missed. It is therefor wrong code in two ways.
There are more ways to use millis(). The best is to stay with the Blink Without Delay example.
I use the MoToTimer part of my MobaTools library. There is a class MoToTimebase to execute something in regular intervals. An example is in Timebase01.ino
I don't like to deal with basics over and over again. You solve that once and then you can concentrate on the real tasks
WARNING! The function millis() doesn't always increment by 1. Sometimes it increments by 2. Any test that looks for an exact value of millis() will likely miss that count periodically.