This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta entry for commit c57d3fcc1ad464532b34fb5a68ed2aa452190541
[perl5.git] / pod / perlreftut.pod
index 7898b6d..bd888eb 100644 (file)
@@ -7,7 +7,7 @@ perlreftut - Mark's very short tutorial about references
 One of the most important new features in Perl 5 was the capability to
 manage complicated data structures like multidimensional arrays and
 nested hashes.  To enable these, Perl 5 introduced a feature called
-`references', and using references is the key to managing complicated,
+'references', and using references is the key to managing complicated,
 structured data in Perl.  Unfortunately, there's a lot of funny syntax
 to learn, and the main manual page can be hard to follow.  The manual
 is quite complete, and sometimes people find that a problem, because
@@ -18,9 +18,9 @@ Fortunately, you only need to know 10% of what's in the main page to get
 
 =head1 Who Needs Complicated Data Structures?
 
-One problem that came up all the time in Perl 4 was how to represent a
-hash whose values were lists.  Perl 4 had hashes, of course, but the
-values had to be scalars; they couldn't be lists.
+One problem that comes up all the time is needing a hash whose values are
+lists.  Perl has hashes, of course, but the values have to be scalars;
+they can't be lists.
 
 Why would you want a hash of lists?  Let's take a simple example: You
 have a file of city and country names, like this:
@@ -47,8 +47,7 @@ country, and append the new city to the list.  When you're done reading
 the input, iterate over the hash as usual, sorting each list of cities
 before you print it out.
 
-If hash values can't be lists, you lose.  In Perl 4, hash values can't
-be lists; they can only be strings.  You lose.  You'd probably have to
+If hash values couldn't be lists, you lose.  You'd probably have to
 combine all the cities into a single string somehow, and then when
 time came to write the output, you'd have to break the string into a
 list, sort the list, and turn it back into a string.  This is messy
@@ -402,8 +401,8 @@ This is Perl, so it does the exact right thing.  It sees that you want
 to push C<Athens> onto an array that doesn't exist, so it helpfully
 makes a new, empty, anonymous array for you, installs it into
 C<%table>, and then pushes C<Athens> onto it.  This is called
-`autovivification'--bringing things to life automatically.  Perl saw
-that they key wasn't in the hash, so it created a new hash entry
+'autovivification'--bringing things to life automatically.  Perl saw
+that the key wasn't in the hash, so it created a new hash entry
 automatically. Perl saw that you wanted to use the hash value as an
 array, so it created a new empty array and installed a reference to it
 in the hash automatically.  And as usual, Perl made the array one