use utf8; use warnings; chomp ($my_in = <STDIN>); print_1_0($my_in); sub print_1_0{ my($num) = @_; #right print "num is $num .\n" }
use utf8; use warnings; chomp ($my_in = <STDIN>); print_1_0($my_in); sub print_1_0{ my($num) = $_; #Use of uninitialized value $num in concatenation print "num is $num .\n" }
use utf8; use warnings; chomp ($my_in = <STDIN>); print_1_0($my_in); sub print_1_0{ my $num = @_; print "num is $num .\n" }
这个最主要的是要理解函数传入的是什么东西.
1,函数传入的是一个列表,所以要使用@_,此处列表只有一个元素.
2,$_是没有任何值得,因为函数调用的时候,没有传递标量进来.
3,my $num = @_;这个表达式把@_当作了标量使用,是@_的元素个数.
chomp ($my_in = <STDIN>); print_1_0($my_in,$my_in,$my_in); sub print_1_0{ my $num = @_; print "num is $num .\n" }