perl - Perl 中的类型转换

标签 perl types type-conversion

我正在学习 Perl here本教程在阅读一些文件后建议使用以下代码片段:

my $team_number = 42;
my $filename = 'input.txt';

open(my $fh, '<', $filename) or die "cannot open '$filename' $!";

my $found;
while(<$fh>) {
  chomp;
  last if($_ eq "Team $team_number");
}
die "cannot find 'Team $team_number'" if(eof $fh);

为什么你不需要报价42当您清楚地将整数与字符串进行比较时? Perl 是否足够聪明来进行这种类型的转换?

最佳答案

Perl 足够聪明,可以自己进行这种类型转换。

  • 需要字符串的运算符将其操作数强制转换为字符串。
  • 需要整数的运算符将其操作数强制转换为整数。
  • 需要数字的运算符将其操作数强制转换为整数或浮点数。

  • 文字 42结果是一个整数值。但是字符串连接[1] 需要字符串作为操作数,因此它将其强制转换为字符串。

  • "Team $team_number""Team " . $team_number 相同.
  • 关于perl - Perl 中的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451979/

    相关文章:

    perl - 未修剪分支中常量的污染

    perl - 删除 ClearCase View 脚本

    perl - 重新定义或重载反引号

    scala - 在Scala中,我可以动态指定参数类型的类型参数吗?

    c - 当我将字符数组转换为整数数组时,为什么字节序列会翻转?

    perl - 如何使用 Perl 将相同的文本写入两个单独的文件句柄?

    c++ - 引用类型可以用作 STL 映射中的键类型吗

    c# - SQL 图像数据类型 - C# 显示输出

    go - 如何在 golang 中将 uint64 转换为 big.Int?

    python - Python 中的 C 风格数据处理