User Guide

Table Of Contents
Using number signs 81
Using number signs
Number signs (#) have a special meaning in CFML. When the ColdFusion server encounters
number signs in CFML text, such as the text in a
cfoutput tag body, it checks to see if the text
between the number signs is either a variable or a function.
Tip: Number signs are also called pound signs.
Is so, it replaces the text and surrounding number signs with the variable value or the result of the
function. Otherwise, ColdFusion generates an error.
For example, to output the current value of a variable named
Form.MyFormVariable, you delimit
(surround) the variable name with number signs:
<cfoutput>Value is #Form.MyFormVariable#</cfoutput>
In this example, the variable Form.MyFormVariable is replaced with the value assigned to it.
Follow these guidelines when using number signs:
Use number signs to distinguish variables or functions from plain text.
Surround only a single variable or function in number signs; for example, #Variables.myVar#
or #Left(myString, position)#. (However, a function in number signs can contain nested
functions, such as #Left(trim(myString), position)#.
Do not put complex expressions, such as 1 + 2 in number signs. Although this is allowed in
a cfoutput block, such as <cfoutput>One plus one is #1 + 1#</cfoutput>, doing so mixes logic
and presentation.
Use number signs only where necessary, because unneeded number signs slow processing.
The following sections provide more details on how to use number signs in CFML. For a
description of using number signs to create variable names, see “Using number signs to construct
a variable name in assignments” on page 85.
Using number signs in ColdFusion tag attribute values
You can put variables, functions, or expressions inside tag attributes by enclosing the variable or
expression with number signs. For example, if the variable CookieValue has the value
"MyCookie", the following line sets the
cfcookie value attribute to "The value is MyCookie":
<cfcookie name="TestCookie" value="The value is #CookieValue#">
You can optionally omit quotation marks around variables used as attribute values as shown in the
following example:
<cfcookie name = TestCookie value = #CookieValue#>
However, surrounding all attribute values in quotation marks is more consistent with HTML
coding style.
If you use string expressions to construct an attribute value, as shown in the following example,
the strings inside the expression use single quotation marks (') to differentiate the quotation
marks from the quotation marks that surround the attribute value.
<cfcookie name="TestCookie2" value="The #CookieValue & 'ate the cookie!'#">