Yes, the Crypt::CBC output is longer than the original text. That's because it
Pads the string to a multiple of the cipher block size (usually 8 bytes)
Prepends a one-block random initialization vector (IV)
Prepends the string "RandomIV"
Newer versions of Crypt::CBC let you control some of the IV behavior. A random IV is a Good Thing, though, because it prevents the same message from being encrypted to the same ciphertext every time.