小编Jas*_*nds的帖子

在Perl中,如何将变量作为参数传递给子例程?

我正在将标量变量传递给子例程,在该子例程中我想测试参数是否与正则表达式匹配:

use strict;
use warnings;

use Data::Dumper;

print "Please enter your first name followed by your last name. For example: John Smith.\n";

chomp(my $name = <STDIN>);

&analyze_name($name);

sub analyze_name {
    if ($_ =~ /^\w+\s+\w+$/) {
            print "You entered $_.";
                    } else {
            print "Incorrect convention";
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到输出有以下错误

Please enter your first name followed by your last name. For example: John Smith.
firstname lastname
Incorrect convention
Use of uninitialized value $_ in pattern match (m//) at /home/jhusbands/scripts/examples/test.pl line 13, <STDIN> …
Run Code Online (Sandbox Code Playgroud)

perl parameter-passing subroutine

0
推荐指数
1
解决办法
2182
查看次数

标签 统计

parameter-passing ×1

perl ×1

subroutine ×1