perl - Perl 变量声明中的 $、@、% 之间有什么区别?

标签 perl syntax declaration

这个问题在这里已经有了答案:





What is the difference between `$this`, `@that`, and `%those` in Perl?

(5 个回答)


8年前关闭。




例子:

my $some_variable;
my @some_variable;
my %some_variable;

我知道,@似乎是用于数组,$对于原始人,是否完全正确?
什么是%为了?

最佳答案

Perl 的优点之一是它带有内置手册。输入以下命令:

perldoc perlintro

并查看 Perl 变量类型部分。您也可以在线查看 perldoc.perl.org Perl 变量部分。

快速概览:
  • $foo 是一个标量变量。它可以保存单个值,可以是字符串、数字等。
  • @foo 是一个数组。数组可以保存多个值。您可以使用索引访问这些值。例如 $foo[0] 是数组的第一个元素, $foo[1] 是数组的第二个元素,等等(数组通常从零开始)。
  • %foo 是一个散列,这就像一个数组,因为它可以容纳多个值,但散列是键控数组。例如,我有一个名为 的密码哈希。 %密码 .这由用户名键入,值是用户的密码。例如:

    $password{Fred} = "剑鱼";
    $password{Betty} = " secret ";

    $user = "弗雷德";
    print "用户 $user 的密码是 $password{$user}\n"; #打印出剑鱼
    $user = "贝蒂";
    print "用户 $user 的密码是 $password{$user}\n"; #打印出 secret

  • 请注意,当您引用散列或数组中的单个值时,您使用美元符号。对于初学者来说有点困惑。

    我建议您购买美洲驼书。美洲驼书是 Learning Perl并且是对该语言的极好介绍。

    关于perl - Perl 变量声明中的 $、@、% 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553898/

    相关文章:

    perl - 如何在 Perl 的 Wasm::Wasmtime 中使用二进制 WASM 文件?

    json - 有没有办法在 JSON 1.x Perl 模块中强制引用数字?

    Java - 将数组值分配给单个变量的快速方法

    c++ - 什么时候在带有头文件和目标文件的类方法中使用 'inline' 关键字?

    C++ 重新声明局部变量有什么作用?

    c - 错误 : incomplete type is not allowed

    perl - 如何在 perl 中返回一个空数组/长度为 0 的数组?

    regex - 如何在正则表达式中使用的Perl文本中转义斜线?

    mysql - 使用 MySQL 的 SQL 语句的正确语法是什么

    ruby - 在 ruby​​ 中使用单引号与双引号相比有性能提升吗?