【发布时间】:2016-01-27 00:58:09
【问题描述】:
所以我正在做这个家庭作业,我们必须阅读菜单项的文本文件,在这种情况下,文本文件读取 - 汉堡包 - 1.79 芝士汉堡 - 2.00 薯条 - 1.50 我需要能够打印出文件中的文本,然后输入以更改价格,同时将它们放入关联数组或散列中。老实说,我现在很烂,这就是我所拥有的。我知道 > 意味着写入文件,但我不确定是否应该使用它,因为我想先查看原始文件。
#!/usr/bin/perl
open(FH, "gp1data.txt") || die("Cannot open the file.");
print "$_";
while (<FH>){
print "$_";
}
my %menu;
while (my $line2 = <$prices>) {
chomp $line2;
my @row = split(/-/, $line2);
$menu{$row[0]} = $row[1];
}
<>;
我在想的是文件被打开,然后打印文件中的内容,然后我应该能够获取打印的内容并将其通过 while 循环,同时将其转换为哈希。
我编写了一个关联数组,其中包含文本文件中的内容,以尝试在我的代码中使用它,但到目前为止我还没有运气。这是我写的数组。
%x = ("Hamburger" => 1.50, => "Cheeseburger" 2.00, "Fries" => 1.79);
$x[0] = "Hamburger 1.50";
$x[1] = "Cheeseburger 2.00";
$x[2] = "Fries 1.79";
for ($i=0; $i<3; $i++)
{
$x[$i] =~ /-/;
$before = $`;
$after = $';
$x{$before} = $after;
}
foreach $item (keys %x)
{
print "A $item costs \$$x{$item}\n"
}
<>;
它的作用是打印“-”之前和“-”之后的内容,以便您查看正在出售的商品和数量。以下是我给出的确切问题词。
"编写一个 Perl 程序,允许用户从文件中读取一些数据,然后给用户修改商品价格的选项,然后将信息存储回可以再次读取的文件中稍后。”
【问题讨论】:
-
您的具体问题是什么?看起来您正在为输入、输出以及介于两者之间的所有内容而苦苦挣扎。如果没有为您完成整个作业,我该如何提供帮助?
-
"编写一个 Perl 程序,允许用户从文件中读取一些数据,然后为用户提供修改商品价格的选项,然后将信息存储回文件以后可以再读。"
-
再说一次,我不会为你做所有的事情,那么具体来说,你需要什么帮助?
-
我的问题是我觉得我有这些部件,但我没有把它们正确地放在一起,比如我如何在文件打印后获取输入。我需要输入来更改打开的列表。
-
你可以使用Storable,它是首次与 perl v5.7.3 一起发布的,你需要'store'和'retrieve'。描述顶部有一个使用它们的示例。
标签: perl hash associative-array