问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

perl中<STDIN>与哈希的问题

发布网友 发布时间:2022-04-24 02:47

我来回答

4个回答

热心网友 时间:2023-10-22 19:31

因为你的输入中包含了一个回车符。
改成这样
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
chomp ($given_name=<STDIN>);#这里去掉回车符
print"$name{$given_name}";

或者改你的hash表
my %name=("fred\n"=>"flintstone",#这里包含回车符
"barney\n"=>"rubble",
"wilma\n"=>"flintstone",
);
$given_name=<STDIN>;
print"$name{$given_name}";

热心网友 时间:2023-10-22 19:32

因为输入的单词多了一个换行字符,已经和你原来的key不一样了,要用chomp把换行符去掉。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp $given_name;
print"$name{$given_name}";

这样就可以了

热心网友 时间:2023-10-22 19:32

你输入key的时候结尾有个换行即 "\n"
需要吧那个\n去掉,用chomp().
修改后应该是下面这个样子。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp($given_name);
print"$name{$given_name}\n";

输出
bsd2# perl test.pl
fred
flintstone

热心网友 时间:2023-10-22 19:33

把倒数第二句改成:
chomp($given_name=<STDIN>);
就能获得答案了
不加chomp的话,会在你输入后面加上'\n',当然获得不了值了

热心网友 时间:2023-10-22 19:31

因为你的输入中包含了一个回车符。
改成这样
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
chomp ($given_name=<STDIN>);#这里去掉回车符
print"$name{$given_name}";

或者改你的hash表
my %name=("fred\n"=>"flintstone",#这里包含回车符
"barney\n"=>"rubble",
"wilma\n"=>"flintstone",
);
$given_name=<STDIN>;
print"$name{$given_name}";

热心网友 时间:2023-10-22 19:32

因为输入的单词多了一个换行字符,已经和你原来的key不一样了,要用chomp把换行符去掉。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp $given_name;
print"$name{$given_name}";

这样就可以了

热心网友 时间:2023-10-22 19:32

你输入key的时候结尾有个换行即 "\n"
需要吧那个\n去掉,用chomp().
修改后应该是下面这个样子。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp($given_name);
print"$name{$given_name}\n";

输出
bsd2# perl test.pl
fred
flintstone

热心网友 时间:2023-10-22 19:33

把倒数第二句改成:
chomp($given_name=<STDIN>);
就能获得答案了
不加chomp的话,会在你输入后面加上'\n',当然获得不了值了

热心网友 时间:2023-10-22 19:31

因为你的输入中包含了一个回车符。
改成这样
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
chomp ($given_name=<STDIN>);#这里去掉回车符
print"$name{$given_name}";

或者改你的hash表
my %name=("fred\n"=>"flintstone",#这里包含回车符
"barney\n"=>"rubble",
"wilma\n"=>"flintstone",
);
$given_name=<STDIN>;
print"$name{$given_name}";

热心网友 时间:2023-10-22 19:32

因为输入的单词多了一个换行字符,已经和你原来的key不一样了,要用chomp把换行符去掉。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp $given_name;
print"$name{$given_name}";

这样就可以了

热心网友 时间:2023-10-22 19:32

你输入key的时候结尾有个换行即 "\n"
需要吧那个\n去掉,用chomp().
修改后应该是下面这个样子。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp($given_name);
print"$name{$given_name}\n";

输出
bsd2# perl test.pl
fred
flintstone

热心网友 时间:2023-10-22 19:33

把倒数第二句改成:
chomp($given_name=<STDIN>);
就能获得答案了
不加chomp的话,会在你输入后面加上'\n',当然获得不了值了

热心网友 时间:2023-10-22 19:31

因为你的输入中包含了一个回车符。
改成这样
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
chomp ($given_name=<STDIN>);#这里去掉回车符
print"$name{$given_name}";

或者改你的hash表
my %name=("fred\n"=>"flintstone",#这里包含回车符
"barney\n"=>"rubble",
"wilma\n"=>"flintstone",
);
$given_name=<STDIN>;
print"$name{$given_name}";

热心网友 时间:2023-10-22 19:32

因为输入的单词多了一个换行字符,已经和你原来的key不一样了,要用chomp把换行符去掉。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp $given_name;
print"$name{$given_name}";

这样就可以了

热心网友 时间:2023-10-22 19:32

你输入key的时候结尾有个换行即 "\n"
需要吧那个\n去掉,用chomp().
修改后应该是下面这个样子。

#!/usr/bin/perl
my %name=("fred"=>"flintstone",
"barney"=>"rubble",
"wilma"=>"flintstone",
);
$given_name=<STDIN>;
chomp($given_name);
print"$name{$given_name}\n";

输出
bsd2# perl test.pl
fred
flintstone

热心网友 时间:2023-10-22 19:33

把倒数第二句改成:
chomp($given_name=<STDIN>);
就能获得答案了
不加chomp的话,会在你输入后面加上'\n',当然获得不了值了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我要写个小说,里面有3个男主角和一个女主角,叫什么好呢?(有5分!) 啤酒兑水浇花可以吗 手游热血传奇狗书哪里爆热血传奇手游狗书逐日噬血书什么地方能 酷狗音乐如何下载到u盘手机下载歌曲到U盘的步骤 快手拉黑了能看到自己发的作品么? 快手下面评论不显示 别听他废话是什么意思? 电脑连上chinaunicom 可是它不自动跳出登录界面 无法登陆 连接上chinaunicom之后点开网页一直弹不出登陆页面 打印机显示正在打印为什么一直没有动静呢???ps:第一次可以的,然后第二... 正则表达式里的前面加hash表示什么意思 关于php redis的问题 hash结构 前端search和hash怎么用 想买淡雅型女士香水 perl hash表 $hash{&#39;strand&#39;}[$pos] = $strand 表示什么意思呢? 高田贤三身高!173体重64公斤适合哪个尺码? 怎么删除hash 高田贤三风之恋适合什么样的男生使用? 荒野大镖客hash值 高田贤三风之恋香水 ,一些问题 hash提取元素值 Kenzo香水好吗? perl hash表 ++$hash{$strand}{&#39;min1&#39;}{&#39;400ppm&#39;} if $total &gt; 0; 这句话是什么意思呢 hash join和anti join的区别以及hash join的过程 男生可以用 高田贤三一枝花香水吗? 根据Hash函数写出Hash表 hash也就是散列,是为了解决什么问题 ? 高田贤三女士香水怎么样,高田贤三女士香水好用吗 hashMap怎么实现 KENZO高田贤三风之恋 CKFree HUGOBOSS哪款香水适合18岁男生用 最好淡点的吧 要是用HUGOBOSS的话哪款适合 nginx 支持一致性hash吗 IE浏览器主页被hao360.cn劫持,上不了网,怎么办?重谢! ie主页是百度,但是打开首页总是hao.360.cn,电脑没有装360,怎么破???? 浏览器会被360安全卫士始终锁定主页hao.360.cn,修改不了咋办? win10系统的IE主页,被360无耻的设置为hao.360.cn的导航主页了,怎么办... 电脑打不开hao360.cn 所有的预览器都用过了.而且连打开其他网页的速度也慢了 为什么我的电脑开浏览器确保web地址http:&#47;&#47;hao.360.cn正确? 最近使用360导航http:&#47;&#47;hao.360.cn,在点击链接时出现链接自动跳转,请高手帮忙。 我的主页变成了http://hao.360.cn,怎么办?我想是弄百度的。 为什么打开hao.360.cn,网页会一闪一闪的开不起来 IE浏览器打不开hao.360.cn但是其他网站都打的开,360浏览器可以打开hao.360.cn hao.360.cn/?1004是什么意思? 电压为72v的电动车电流电功率是多少? 想组一辆电摩 72v该配多少w的电机和控制器 新日电动车H5锋芒72V电机多少瓦? 三星曲面屏手机贴什么膜好,可以贴全胶膜吗? Infinix是什么手机 金针蘑和金针菜是一种东西吗? 苹果手表4代值得买吗 苹果手表背面4个圈都会亮吗