Perl noob。Perl:從子程序返回一個數組.pm
我無法理解從.pm文件中的子程序返回數組值。
特等文件有以下幾點:
print "Enter your first and last name.\n";
chomp(my $fullname = <STDIN>); #input is 'testing this' all lower case
Jhusbands::Loginpass->check_name($fullname);
print "$fullname\n";
的.pm包括以下子程序:
sub check_name {
my $class = shift;
if ($_[0] =~ /^\w+\s+\w+$/) {
@_ = split(/ /, $_[0]);
foreach $_ (@_) {
$_ = ucfirst lc for @_;
@_ = join(" ", @_);
print Dumper(@_) . "\n";
return @_;
}
}
}
我取的名字,檢查它只有第一和最後一個(我會得到到後來的其他語句),拆分它,糾正情況,並再次加入.Dumper顯示最終陣列爲:
$VAR1 = 'Testing This';
所以它似乎正在工作那麼遠。然而,在特等文件返回山谷爲$全稱顯示全部小寫:
testing this
爲什麼不採取修正大寫的變量,自卸車顯示爲最後一個數組迭代?
您放棄.pl中的返回值。你需要分配一些東西。 – toolic
你是從你的小組返回一個,但沒有存儲在任何地方。 –
另外,'foreach $ _(@_){...}'應該替換爲'...'。 – ikegami