PERL中的子例程原型

疯狂
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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Perl:匿名子例程中的原型

来自分类Dev

Perl子例程中的本地$ _

来自分类Dev

Perl子例程中的本地$ _

来自分类Dev

检查Perl中是否存在子例程

来自分类Dev

perl中的子例程以执行#ARGV条目

来自分类Dev

锁定Perl子例程

来自分类Dev

Perl子例程中的变量不会释放内存

来自分类Dev

如何在Perl中创建动态子例程名称

来自分类Dev

Perl脚本中的奇数子例程编译错误

来自分类Dev

Perl中未定义的子例程和主要错误

来自分类Dev

Perl子例程从哪里获取实际参数中缺少的值?

来自分类Dev

在Perl中以下划线开头的子例程名称

来自分类Dev

在Perl子例程中返回文件句柄

来自分类Dev

检测如何在Perl中调用子例程

来自分类Dev

Perl脚本中的奇数子例程编译错误

来自分类Dev

Perl中未定义的子例程和主要错误

来自分类Dev

子例程中的Perl特殊变量“ @_”不起作用

来自分类Dev

Perl作用域-访问子例程中的变量

来自分类Dev

仅在子例程中需要时才使用 Perl 模块

来自分类Dev

Perl函数和子例程

来自分类Dev

Perl继承-子例程覆盖

来自分类Dev

Perl +递归子例程+在子例程外部定义的访问变量

来自分类Dev

将子例程传递给Perl子例程

来自分类Dev

如何获取Perl子例程的参数内容

来自分类Dev

Perl-转换变量的子例程

来自分类Dev

Perl子例程返回意外值

来自分类Dev

与Coro并行运行perl子例程

来自分类Dev

Perl子例程未返回任何值

来自分类Dev

Perl线程-从模块(pm)调用子例程