# Perl 中的数据类型

> 原文： [https://beginnersbook.com/2017/02/data-types-in-perl/](https://beginnersbook.com/2017/02/data-types-in-perl/)

Perl 有三种数据类型：**标量**，**标量数组**和**哈希**（也称为关联数组，字典或映射）。在 perl 中，我们不需要指定数据类型，解释器会根据数据的上下文自动选择它。

对于例如在下面的代码中，我将一个整数和一个字符串分配给两个不同的变量，而不指定任何类型。解释器将选择`age`作为整数类型，并根据分配给它们的数据将其命名为字符串类型。

```perl
#!/usr/bin/perl
$age=29;
$name="Chaitanya";
```

#### 标量

标量是单个数据单元。它可以是数字，浮点数，字符，字符串等。在 perl 中，它们以美元符号（`$`）为前缀。详细阅读[这里](https://beginnersbook.com/2017/05/scalars-in-perl/)。

例如：

```perl
$num1=51; 
$str1="beginnersbook"; 
$num2=2.9;
$str2="hello";
```

#### 数组

它们是有序的标量列表，前缀为`@`符号。索引从 0 开始，这意味着访问数组的第一个元素，我们需要使用索引值为 0（零）。例如。

```perl
#!/usr/bin/perl
@pincode = (301019, 282005, 101010);
print "\$pincode[0] = $pincode[0]\n";
```

**输出：**

```perl
pincode[0] = 301019
```

如果您想知道打印指令中使用的反斜杠（`\`），它用于避免首次出现`pincode [0]`的插值。您可以[在此处阅读有关数组的更多信息](https://beginnersbook.com/2017/05/perl-lists-and-arrays/)。

#### 哈希

它们是无序的键值对组。它们以百分号（`%`）为前缀。

```perl
#!/usr/bin/perl

%ages = ('Chaitanya', 29, 'Ajeet', 28, 'Tom', 40);
```

这里`%ages`是具有键值对的散列。其中键是名称，值是年龄。要访问`Ajeet`的年龄，我们使用`$age{'Ajeet'}`指令。

[在这里了解更多关于哈希的例子](https://beginnersbook.com/2017/05/hashes-in-perl/)。