为什么数组使用,(逗号)和.(句号)打印不同的2值?

use*_*979 0 perl

 my @arr = qw(12 5 78 56 1 785);
 my @new_arr = sort { $a <=> $b } @arr;
 print  @new_arr . "\n\n" ; #### print 6
 print  @new_arr , "\n\n" ; #### print value in short order
Run Code Online (Sandbox Code Playgroud)

嗨,有谁能告诉我为什么它打印不同的2值.

Thx,Vijay

JB.*_*JB. 10

第一个@new_arr用字符串"\n \n" 打印串联.该连接强制标量上下文@new_arr,因此它在您的情况下评估为元素数量6.

第二个计算print列表上下文中的所有参数,因此@new_arr计算其所有元素的列表.

  • 由于这是正确的解释,我可以建议您通过单击刻度线的轮廓来"接受"它.接受率较低的用户往往对未来的问题关注度较低. (3认同)