$; is used as an ordinary variable. It could have been $f. For each character in the string, if zero it is replaced by 3, if 3 it is replaced by 30, thus yielding the sequence 3, 30, 303, 30330, 30330303. Each value is simply the concatenation of the previous two values; for example, 30330303 is 30330 followed by 303. Thus, its length is the sum of the two previous lengths, yielding Fiboncci numbers. If you replace 0's by newborn and 3's by old rabbits you get Fibonacci's model of population growth