Because expressions are separated by a ';' character, and because '$' marks the start of a path, you must use:
';;
' when you want to insert a real ';' character in a string,
'$$
' when you want to insert a real '$' character in a string.
<span tal:replace="string:this is a $$100 page"/>
string:foo $bar baz <!-- will replace $bar -->
string:foo $$bar baz <!-- no interpolation -->
string:foo ; php:doFoo() <!-- two different expressions -->
string:foo ;; php:doFoo() <!-- only string -->