Perl - Data Types

Perl - Data Types

Perl is a loosely typed language and there is no need to specify a type for your data while using in your program. The Perl interpreter will choose the type based on the context of the data itself.
Perl has three basic data types − scalars, arrays of scalars, and hashes of scalars, also known as associative arrays. Here is a little detail about these data types.
S.N.Types and Description
1Scalar −
Scalars are simple variables. They are preceded by a dollar sign ($). A scalar is either a number, a string, or a reference. A reference is actually an address of a variable, which we will see in the upcoming chapters.
2Arrays −
Arrays are ordered lists of scalars that you access with a numeric index which starts with 0. They are preceded by an "at" sign (@).
3Hashes −
Hashes are unordered sets of key/value pairs that you access using the keys as subscripts. They are preceded by a percent sign (%).

Numeric Literals

Perl stores all the numbers internally as either signed integers or double-precision floating-point values. Numeric literals are specified in any of the following floating-point or integer formats −
TypeValue
Integer1234
Negative integer-100
Floating point200.0
Scientific notation16.12E14
Hexadecimal0xffff
Octal0577

String Literals

Strings are sequences of characters. They are usually alphanumeric values delimited by either single (') or double (") quotes. They work much like UNIX shell quotes where you can use single quoted strings and double quoted strings.
Double-quoted string literals allow variable interpolation, and single-quoted strings are not. There are certain characters when they are proceeded by a back slash, have special meaning and they are used to represent like newline (\n) or tab (\t).
You can embed newlines or any of the following Escape sequences directly in your double quoted strings −
Escape sequenceMeaning
\\Backslash
\'Single quote
\"Double quote
\aAlert or bell
\bBackspace
\fForm feed
\nNewline
\rCarriage return
\tHorizontal tab
\vVertical tab
\0nnCreates Octal formatted numbers
\xnnCreates Hexideciamal formatted numbers
\cXControls characters, x may be any character
\uForces next character to uppercase
\lForces next character to lowercase
\UForces all following characters to uppercase
\LForces all following characters to lowercase
\QBackslash all following non-alphanumeric characters
\EEnd \U, \L, or \Q