我有一个任务是编写一个 Perl 文件来打开一个 IP 地址及其主机名的文本文件,用新行分隔,然后将其加载到哈希中。然后我应该要求用户输入用户想要在文件中搜索的内容。如果找到结果,程序应该打印值和键,并再次请求输入,直到用户没有输入任何内容。我什至还没有接近尾声,但需要一些指导。我已经从这里和通过使用一些 Google-Fu 拼凑了一些代码。
这是我正在进行的工作:
#!/usr/bin/perl
print "Welcome to the text searcher! Please enter a filename: ";
$filename = <>;
my %texthash = ();
open DNSTEXT, "$filename"
or die! "Insert a valid name! ";
while (<DNSTEXT>) {
chomp;
my ($key, $value) = split("\n");
$texthash{$key} .= exists $texthash{$key}
? ",$value"
: $value;
}
print $texthash{$weather.com}
#print "What would you like to search for within this file? "
#$query = <>
#if(exists $text{$query}) {
可能很明显,我很迷茫。我不确定我是否将文件正确插入到哈希中,或者如何打印要调试的值。