Essentially you write a script in any language that:
1) checks what's your current IP (an easy way is to do a GET request to http://icanhazip.com/, available thanks to Red Hat engineer Major Hayden)
2) checks what was the last IP you sent to Cloudflare (saved in a text file on your disk or something like data)
3) if they are different, send a PUT request to the Cloudflare API with the new IP: https://api.cloudflare.com/#dns-records-for-a-zone-update-dn...
4) Then save that new IP in the text file, so you can check next time
Finally, you edit your crontab to run that script every few hours or so.