$! acts like both a string or an integer depending upon context.
Can I create my own variables that do the same? How?
In reply to User variables with two values? by Anonymous Monk