in reply to v.Perl
FYI, it would be more idiomatic to write the above as:
$life -= 1 while $programming_knowledge > $life; [download]
--$life while $programming_knowledge > $life; [download]
Makeshifts last the longest.