summaryrefslogtreecommitdiffhomepage
path: root/perl.html.markdown
diff options
context:
space:
mode:
authorDan Book <grinnz@gmail.com>2017-01-21 07:20:42 -0500
committerven <vendethiel@hotmail.fr>2017-01-21 13:20:42 +0100
commit05614d0920804799aec69fddadac4356c91020a2 (patch)
tree1d7038df867e1430e02c3ba6596542a82c0d8a65 /perl.html.markdown
parentff362fc01fa798727c8423d20f093e25702af52b (diff)
[perl/en] some more examples of interacting with arrays and hashes (#2632)
Diffstat (limited to 'perl.html.markdown')
-rw-r--r--perl.html.markdown18
1 files changed, 18 insertions, 0 deletions
diff --git a/perl.html.markdown b/perl.html.markdown
index 908f300b..a29fdf1f 100644
--- a/perl.html.markdown
+++ b/perl.html.markdown
@@ -51,6 +51,13 @@ my @mixed = ("camel", 42, 1.23);
# indicate one value will be returned.
my $second = $animals[1];
+# The size of an array is retrieved by accessing the array in a scalar
+# context, such as assigning it to a scalar variable or using the
+# "scalar" operator.
+
+my $num_animals = @animals;
+print "Number of numbers: ", scalar(@numbers), "\n";
+
## Hashes
# A hash represents a set of key/value pairs:
@@ -67,6 +74,11 @@ my %fruit_color = (
# Hash elements are accessed using curly braces, again with the $ sigil.
my $color = $fruit_color{apple};
+# All of the keys or values that exist in a hash can be accessed using
+# the "keys" and "values" functions.
+my @fruits = keys %fruit_color;
+my @colors = values %fruit_color;
+
# Scalars, arrays and hashes are documented more fully in perldata.
# (perldoc perldata).
@@ -144,6 +156,12 @@ for (@elements) {
print;
}
+# iterating through a hash (for and foreach are equivalent)
+
+foreach my $key (keys %hash) {
+ print $key, ': ', $hash{$key}, "\n";
+}
+
# the Perlish post-condition way again
print for @elements;