Get the App
SLTechnology News&Howtos  ›  Development  › 

How to set up keys by using Perl hash table

Shulou Source: shulou.com Published: 2022-06-02 07:43:50 10月04日 Update

Editor to share with you how to use the Perl hash table to build keys, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!

Perl fundamentals: establishing key-value data mapping using Perl hash table

One of the most interesting features of Perl's data structures is the Perl hash table (hash), which makes it possible to establish key-value (key-value) associations between data fragments. Although these Perl hash tables are far more useful than numerically indexed arrays in a normal system, they also tend to confuse beginners. That's why I wrote this article-- it will show you how to create a Perl hash table, how to insert and delete elements, and how to create a nested PerlPerl hash table and use loops to process the Perl hash table.

Define the Perl hash table

First of all, what is a Perl hash table? In essence, it is an array indexed by a string. That is, you use string tags instead of numbers to access each element. Here is an example:

List A

#! / usr/bin/Perl # definehash% alphabet= ('cat', = >' apple', 'baked = >' ball', 'canals = >' cat','x = > 'xylophone')

The above lines create a set of PerlPerl hash tables with four pairs of key-value associations. Notice that the symbol% before the variable name indicates that it is a Perl hash table, and the arrows are used to indicate the key-value relationship.

You can also write code like this:

List B

#! / usr/bin/Perl # definehash% alphabet= ('axiomagy, pageantry, ballooning, ballooning, cedar, catering, paralleling, and xylophone.')

After defining a Perl hash table, you can access independent features with the defined name. For example, look at the following code:

Table C

#! / usr/bin/Perl # definehash% alphabet= (# accesshashvalue print "Aisfor". $alphabet

The output is as follows:

Aisforapple.

To clear the Perl hash table, simply assign it to an empty dataset, as in the following example:

List D

#! / usr/bin/Perl # (re) initializehash% alphabet= ()

Insert, change, and delete Perl hash table elements

You can insert a new element in a Perl hash table (or change an existing Perl hash table) by setting a new value for the corresponding key. If the key does not exist, it will be created. Here is an example:

List E

#! / usr/bin/Perl # definehash% alphabet= (# addnewelement $alphabet='dog'; # changeexistingelement $accesshashvalue print "Aisfor". $alphabet

You can delete a pair of key-value pairs with the delete () function, like this:

List F

#! / usr/bin/Perl # definehash% alphabet= (# deleteelement delete$alphabet)

Retrieve keys and numeric values

If you find the keys and values of an Perl hash table useful and need further processing, Perl allows you to extract them into separate data structures. You can use the function keys () to return the key of a Perl hash table as an array of numeric indexes. Here is an example:

List G

#! / bin/Perl # definehash% alphabet= ('await = >' apple','b'= > 'bat','c'= >' cat'); # getandprinthashkeys @ keyskeys=keys (% alphabet); print "@ keys"

Alternatively, you can use the function values () to get an array with Perl hash values, as follows:

Table H

#! / bin/Perl # definehash% alphabet= ('await = >' apple','b'= > 'bat','c'= >' cat'); # getandprinthashvalues @ vals=values (% alphabet); print "@ v"

Calculate the size of the Perl hash table

The easiest way to calculate the size of the Perl hash table is to extract the keys from the Perl hash table into an array using the keys () function above, and then retrieve the size of the array as follows:

Table I

#! / bin/Perl # definehash% alphabet= ('await = >' apple','b'= > 'bat','c'= >' cat'); # printnumberofhashelements print "Thehashhas" .scalar (keys (% alphabet)). "elements"

Working with Perl hash table elements

It is also easier to use the while () loop to process all the elements in an Perl hash table. Here is a simple example:

List J

#! / usr/bin/Perl # definehash% alphabet= (# loopoverhash while (($key,$value) = each (% alphabet)) {print "$keyisfor$value";}

Alternatively, use the for () loop and the keys () function discussed earlier:

List K

#! / usr/bin/Perl # definehash% alphabet= (# loopoverhash for$k (% alphabet)) {print$k. "isfor". $hash. ";}

Using nested Perl hash tables

Perl also allows you to embed another Perl hash table (or array) in a Perl hash table (or array). This provides a great deal of flexibility for building long and complex data structures. Here is an example:

List L

#! / usr/bin/Perl% movies= ('black'= > {' hero'= > 'Batman','villain'= >' ThePenguin'}, 'red'= > [{' hero'= > 'Spiderman','villain'= >' GreenGoblin'}, {'hero'= >' Superman','villain'= > 'LexLuthor'}]); # retrieveandprintvalues print$movies. "fights". $movies. "; print$movies [1]." fights ". $movies [1].

The result returned by this code is:

BatmanfightsThePenguin

SupermanfightsLexLuthor

The above is all the contents of the article "how to use the Perl hash table to create keys". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Hashes arrays examples data elements functions articles processing code size values numbers data structures indexes structures facets loops content characters strings Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Huawei vpn macOS Docker Microsoft