Für eine Aufgabe im College müssen wir ein Skript in Perl erstellen, das es uns ermöglicht, einen Bestand für einen Online-Shop zu verwalten. (Das Beispiel war Amazon). Benutzer können Bestellungen in einer rein textbasierten Umgebung aufgeben und der Bestand muss aktualisiert werden, wenn eine Bestellung abgeschlossen ist.
Jeder Artikel im Bestand hat 3 bis 4 Attribute: einen Produktcode, einen Titel, einen Preis und für einige einen Betrag (zum Beispiel haben MP3's dieses Attribut nicht).
Da dies meine erste Begegnung mit Perl ist, weiß ich nicht wirklich, wie ich anfangen soll. Mein Hauptproblem ist, wie ich den Bestand im Programm "implementieren" soll. Eine Funktion des Programms besteht darin, nach Titeln zu suchen. Eine andere ist das Aufgeben einer Bestellung, bei der der Benutzer einen Produktcode angeben sollte.
Meine erste Idee war ein Hash mit dem Produktcode als Schlüssel. Aber wenn ich in den Titeln suchen wollte, könnte das ein Problem sein wegen Folgendem: Der Hashkey wäre etwas wie DVD-123, die dazu gehörenden Informationen könnten "The Green Mask 12" (ohne Anführungszeichen) sein, wobei die 12 angibt, wie viele dieser DVDs derzeit auf Lager sind. Also müsste ich einen Weg finden, die 12 am Ende zu ignorieren.
Eine andere Lösung wäre, den Titel als Schlüssel zu verwenden, aber das wäre meiner Meinung nach auch umständlich.
Gibt es eine Möglichkeit, eine Hashtabelle mit 2 Schlüsseln zu erstellen, und wenn ich nur einen gebe, gibt sie ein Array mit den anderen Werten zurück? (Inklusive des anderen Schlüssels und der anderen Informationen) Auf diese Weise könnte ich je nach benötigten Informationen einen anderen Schlüssel aus meinem Bestand verwenden.
Wir müssen den Standardbestand aus einer Textdatei wie folgt einlesen:
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