Actually I was thinking that $last_programmed was unix-time for when one last programmed. Soif you subtract 3 days (60*60*24*3 seconds) from the current time, you get three days ago. If three days ago is more than $last_programmed, then it is time to undef self.
But I did forget the 60
If you wanted to consider $last_programmed as the amount of time since you last programmed (in seconds) however, than you don't have to subtract 3 days from the current time, you can just do a direct comparison to three days.
Okay, I'll go away now.