another good example, sometimes you may find you are trying to send data to and alias, or echo, or message room, and it may contain a work that starts with %watever thats you dont want to be treated as a variable....
//privmsg $chan %a is a variable
will message the room either, [the value of %a] is a variable, or: is a variable(if %a doesnt exist) and this happens because it tryied to evaluate %a, so if you think logically, $eval(%a,0) would message the room: %a is a variable, since we arent evaluating the %a
or, if you have a nested variable, for example, we have this in our variables section:
%a %nested
%nested this is what you get
if you do // echo -a %a
you will get: %nested
bu if you do //echo -a $eval(%a,2)
you will get: this is what you get