首页 > 解决方案 > 带有 .txt 文件的“简单”perl 赋值

问题描述

我有一个任务解释如下:

编写一个名为 names.pl 的小型 Perl 程序,读取名字和姓氏的列表(每行全名)并将名字存储在两个散列中(%firstNameHash 和 %lastNameHash)。下面是显示它应该如何工作的用户界面。提示,在 Perl 中,您可以一次分配 2 个变量: ($first, $last) = split //, $line;

File name to read in: myFile.txt
(F) for first name (L) for last name search and (.) to exit: F
Enter first name: Mike
Jonas
(F) for first name (L) for last name search and (.) to exit: L
Enter last name: Jonas
Mike
(F) for first name (L) for last name search and (.) to exit: .
Done!

我觉得这个解释很混乱,但我得到了界面。我有我们分配的测试文件(myFile.txt),它看起来像这样:

Mike Jonas
Mark Jones
Max Tedford
Robbie MacPheson
Alison Bailey

我已经看了几个小时的视频/阅读了一些文章,但是当您不知道要查找的确切内容时,可能会感到困惑。

有人能建议一个可能的开始方向吗?这真的很有帮助。

先感谢您!

标签: perl

解决方案


open可用于打开文件。<$fh>将从句柄在的文件中读取一行$fhchomp可用于从变量的值中删除尾随换行符

至于将名称存储在两个哈希中......这没有多大意义。哈希允许存储由称为键的字符串索引的值。名称应该用作散列元素的键还是值?如果是键,应该使用什么作为值,反之亦然。我帮不了你。

顺便说一句,您应该始终以use strict; use warnings;.

($first, $last)应该是my ($first, $last)

split / /, $line(在每个空格上分割)应该是split ' ', $line(在空格上分割)。


推荐阅读