Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

HI Leute,

ich darf seit gestern Perl programmieren und hab zuvor noch nie etwa damit zu tun gehabt, bin als n00b auf dem Gebiet!

Hier mein Problem:

Wie greif ich auf Werte im Hash zu?

Hab ein Script welches Daten aus einer Datei liest und diese dann in den Hash packt, die (so wurden sie mir genannt) Referenzen auf den Hash werden von der Funktion zurückgegeben:

return ( $Prodicat, $Prodat_gefunden, $Pricat_gefunden, \%Prodat_Orgid, \%Pricat_Orgid );
\%Prodat_Orgid, \%Pricat_Orgid sind die beiden Werte die ich brauch So kommen sie bei mir zurück:
(undef, undef, undef, %prohash, %prihash) = Pruefen_ob_Prodat_und_oder_Pricat_Datei($file);

So hab ich es in anderen Scripts gesehen und so stehts auch in den Perlbüchern hier, aber die Weiterverarbeitung funktioniert einfach nicht, wie kann ich nun auf die einzelnen Werte zugreifen???

THX

Lies Dir mal durch wie Referenzen in Perl funktionieren, z.B. in der Manpage (man perlref).

Du bekommst eine Referenz auf einen Hash, nicht den Hash. Die Zeile muss also so lauten:

(undef, undef, undef, $prohash, $prihash) = Pruefen_ob_Prodat_und_oder_Pricat_Datei($file);

Auf die Elemente in diesem Hash greift man dann nicht mit $prohash{element} sondern mit $prohash->{element} zu.

Der Vorteil von Referenzen ist in diesem Beispiel, dass der benutzte Speicher des Hashes bei der Rückgabe nicht kopiert werden muss (und so ein Hash kann groß werden), sondern nur die 4 Byte für die Referenz (auf einem 32 Bit System). Kann also eine enorme Speicherersparung sein.

Bleib also am Ball, es ist wichtig den Umgang und vor allem auch den Grund für den Einsatz von Referenzen zu verstehen!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.