I fix some minor errors.
:local DDNSuser value="login";
:local DDNSpass value="password";
:local DDNShost value="domain.dyndns.info";
# possible value are DynDNS, No-IP, ChangeIP;
:local DDNStype value="DynDNS";
/tool fetch mode=http keep-result=yes url="http://myip.dnsomatic.com/index.html" dst-path="CURRip";
/delay delay-time=2s;
:local CURRip value=[:toip [/file get "CURRip" value-name=contents]];
/delay delay-time=2s;
/file remove "CURRip";
:if ([:resolve $DDNShost] != $CURRip) do={
:if ($DDNStype = "DynDNS") do={ /tool fetch mode=http keep-result=no url="http://members.dyndns.org/nic/update?hostname=$DDNShost&myip=$CURRip" user=$DDNSuser password=$DDNSpass; };
:if ($DDNStype = "No-IP") do={ /tool fetch mode=http keep-result=no url="http://dynupdate.no-ip.com/nic/update?hostname=$DDNShost&myip=$CURRip" user=$DDNSuser password=$DDNSpass; };
:if ($DDNStype = "ChangeIP") do={ /tool dns-update name=$DDNShost address=$CURRip key-name=$DDNSuser key=$DDNSpass; };
/log info message=($DDNStype.": Updating ".$DDNShost." to:".$CURRip);
};