sub joins($ @);
print "\nEnter a letter \n\n";
$l = <STDIN>;
chomp $l;
print "\n Enter Five String \n\n";
@arr;
for($i=0;$i<5;$i++) {
$arr[$i] = <STDIN>;
chomp $arr[$i];
}
@ar = joins($l, @arr);
print "\nCombined Stirng is :- @ar\n";
sub joins {
($x, @str)=@_;
@j = ($x, @str);
return @j;
}
我收到原型不匹配错误。我该如何解决?
好吧,实际上,您需要做的是更改联接函数定义。您可以将“ sub joins”更改为“ sub joins($ @),以与joins函数的声明保持一致。代码如下所示。
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 sub joins($@);
6
7 print "\nEnter a letter \n\n";
8 my $l=<STDIN>;
9 chomp $l;
10 print "\n Enter Five String \n\n";
11 our @arr;
12
13 for(my $i=0;$i<5;$i++)
14 {
15 $arr[$i]=<STDIN>;
16 chomp $arr[$i];
17 }
18
19 my @ar=joins($l,@arr);
20 print "\nCombined Stirng is :- @ar\n";
21
22 sub joins($@)
23 {
24 my ($x, @str)=@_;
25 my @j=($x,@str);
26 return @j;
27 }
好的,顺便说一句,您可以在此处阅读有关原型的文档(http://perldoc.perl.org/perlsub.html#Prototypes)。此外,尽管在演示代码中,我也建议您使用严格和警告。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句