依然继续学习Perl中,记一下今天犯的错
#! C:/Perl/bin/perl -w
use strict;
my %family_name=
(
"fred" => "flintsone",
"barney" => "rubble",
"wilma" => "flintstone",
);
print keys %family_name;
print "input the requiry name: /n";
my $given_name= <STDIN>;
my $result= $family_name{$given_name};
print $result."/n";
print "The result is $given_name $family_name{$given_name}./n";
很简单的hash操作是不是,为什么输入fred,程序报错说:use of uninitialized value in concatenation (.) or sring?
很简单,输入的时候没有去掉换行,看似输入fred,实际上输入的是fred/n
所以和hash中的key不匹配,在输入之后加上#chomp $given_name;就OK了