为了完成大学的一项作业,我们需要使用Perl编写一个脚本来管理电子商店的库存(例如Amazon)。用户可以在完全基于文本的环境中下订单,当订单完成时,库存必须得到更新。
库存中的每个物品都有3到4个属性:产品代码、标题、价格以及某些物品的数量(例如MP3没有这个属性)。
由于这是我第一次接触Perl,我不知道如何开始。我的主要问题是如何在程序中“实现”库存。程序的一个功能是通过标题进行搜索。另一个功能是下订单,用户需要提供产品代码。
我的第一个想法是使用产品代码作为键的哈希表。但是如果我想在标题中搜索,那可能会有问题,因为哈希键会是像DVD-123这样的东西,属于该键的信息可能是“绿色面具12”(不带引号),其中的12表示目前库存中有多少这种DVD。所以我必须找到一种方法来忽略末尾的12。
另一个解决方案是将标题用作键,但我认为这也很麻烦。
是否有一种方法可以制作一个具有2个键的哈希表,当我只给出一个键时,它会返回包含其他值的数组?(包括另一个键和其他信息)这样,我可以根据需要从我的库存中使用另一个键。
我们需要从类似于以下文本文件中读取默认库存:
MP3-72|Lady Gaga - Kiss and Run (Fear of Commitment Monster)|0.99 CD-400|Kings of Leon - Only By The Night|14.50|2 MP3-401|Kings of Leon - Closer|0.85 DVD-144|Live Free or Die Hard|14.99|2 SOFT-864|Windows Vista|49.95
库存中的每个物品都有3到4个属性:产品代码、标题、价格以及某些物品的数量(例如MP3没有这个属性)。
由于这是我第一次接触Perl,我不知道如何开始。我的主要问题是如何在程序中“实现”库存。程序的一个功能是通过标题进行搜索。另一个功能是下订单,用户需要提供产品代码。
我的第一个想法是使用产品代码作为键的哈希表。但是如果我想在标题中搜索,那可能会有问题,因为哈希键会是像DVD-123这样的东西,属于该键的信息可能是“绿色面具12”(不带引号),其中的12表示目前库存中有多少这种DVD。所以我必须找到一种方法来忽略末尾的12。
另一个解决方案是将标题用作键,但我认为这也很麻烦。
是否有一种方法可以制作一个具有2个键的哈希表,当我只给出一个键时,它会返回包含其他值的数组?(包括另一个键和其他信息)这样,我可以根据需要从我的库存中使用另一个键。
我们需要从类似于以下文本文件中读取默认库存:
MP3-72|Lady Gaga - Kiss and Run (Fear of Commitment Monster)|0.99 CD-400|Kings of Leon - Only By The Night|14.50|2 MP3-401|Kings of Leon - Closer|0.85 DVD-144|Live Free or Die Hard|14.99|2 SOFT-864|Windows Vista|49.95