Devel::Size it telling you how many bytes are taken up by the C structure(s) that are used to represent your Perl variable. The numbers you're getting suggest it takes 24 bytes to represent a scalar containing an integer and 48 bytes to represent a scalar containing a string. I can't say I find that particularly surprising.