#Scalars are always prefixed with $, #arrays with an @, and #hashes with a %. If something is a variable, and it doesn't have a special character in front of it, it might be a filehandle. Special Character What it Denotes Example $ Scalar $number = 123.44; $string = 'aaaa'; @ Array @numberArray =(1,2,3); @stringArray = ('elmt1', 'elmt2',3 ); $[ ] Array Element print $stringArray[2]; $stringArray[4] = 'newstring'; % Hash %hashName = ('key' => 'value', 'key2'=>'value2'); ${ } Hash Lookup print $hashName{'key'}; # prints 'value' $hashName{'key3'} = 'value3'; # sets 'key3'