summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoderick Schertler <roderick@gate.net>1997-01-04 21:25:58 -0500
committerChip Salzenberg <chip@atlantic.net>1997-01-08 11:52:00 +1200
commit4d42f92e5bf79556508016b7af91233b12e526eb (patch)
tree09ccf8ff081411ec24cb8975e992d52e9c2b2f70
parent38e3adfd2e3d40b46e465482945c4f3de4bb50ef (diff)
downloadperl-4d42f92e5bf79556508016b7af91233b12e526eb.tar.gz
doc patch: perldsc
Mostly just fixed a couple of bracing and sorting problems, plus a little bit of cosmetics. Dunno how this bitrot seeps in. p5p-msgid: <1623.846039492@jinete.perl.com> private-msgid: <pzafqo6eo9.fsf@eeyore.ibcinc.com>
-rw-r--r--pod/perldsc.pod67
1 files changed, 34 insertions, 33 deletions
diff --git a/pod/perldsc.pod b/pod/perldsc.pod
index 5a3a83ea5e..a6d6480dbf 100644
--- a/pod/perldsc.pod
+++ b/pod/perldsc.pod
@@ -48,7 +48,7 @@ create one of these complex data structures, you can just pinch, pilfer, or
purloin a drop-in example from here.
Let's look at each of these possible constructs in detail. There are separate
-documents on each of the following:
+sections on each of the following:
=over 5
@@ -62,10 +62,6 @@ documents on each of the following:
=item * more elaborate constructs
-=item * recursive and self-referential data structures
-
-=item * objects
-
=back
But for now, let's look at some of the general issues common to all
@@ -387,7 +383,7 @@ types of data structures.
# print the whole thing one at a time
for $i ( 0 .. $#LoL ) {
- for $j ( 0 .. $#{$LoL[$i]} ) {
+ for $j ( 0 .. $#{ $LoL[$i] } ) {
print "elt $i $j is $LoL[$i][$j]\n";
}
}
@@ -397,9 +393,9 @@ types of data structures.
=head2 Declaration of a HASH OF LISTS
%HoL = (
- "flintstones" => [ "fred", "barney" ],
- "jetsons" => [ "george", "jane", "elroy" ],
- "simpsons" => [ "homer", "marge", "bart" ],
+ flintstones => [ "fred", "barney" ],
+ jetsons => [ "george", "jane", "elroy" ],
+ simpsons => [ "homer", "marge", "bart" ],
);
=head2 Generation of a HASH OF LISTS
@@ -456,12 +452,17 @@ types of data structures.
}
# print the whole thing sorted by number of members
- foreach $family ( sort { @{$HoL{$b}} <=> @{$HoL{$b}} } keys %HoL ) {
+ foreach $family ( sort { @{$HoL{$b}} <=> @{$HoL{$a}} } keys %HoL ) {
print "$family: @{ $HoL{$family} }\n"
}
# print the whole thing sorted by number of members and name
- foreach $family ( sort { @{$HoL{$b}} <=> @{$HoL{$a}} } keys %HoL ) {
+ foreach $family ( sort {
+ @{$HoL{$b}} <=> @{$HoL{$a}}
+ ||
+ $a cmp $b
+ } keys %HoL )
+ {
print "$family: ", join(", ", sort @{ $HoL{$family}), "\n";
}
@@ -560,19 +561,19 @@ types of data structures.
=head2 Declaration of a HASH OF HASHES
%HoH = (
- "flintstones" => {
- "lead" => "fred",
- "pal" => "barney",
+ flintstones => {
+ lead => "fred",
+ pal => "barney",
},
- "jetsons" => {
- "lead" => "george",
- "wife" => "jane",
- "his boy" => "elroy",
+ jetsons => {
+ lead => "george",
+ wife => "jane",
+ "his boy" => "elroy",
},
- "simpsons" => {
- "lead" => "homer",
- "wife" => "marge",
- "kid" => "bart",
+ simpsons => {
+ lead => "homer",
+ wife => "marge",
+ kid => "bart",
},
);
@@ -614,8 +615,8 @@ types of data structures.
# append new members to an existing family
%new_folks = (
- "wife" => "wilma",
- "pet" => "dino";
+ wife => "wilma",
+ pet => "dino";
);
for $what (keys %new_folks) {
@@ -650,7 +651,7 @@ types of data structures.
# print the whole thing sorted by number of members
- foreach $family ( sort { keys %{$HoH{$b}} <=> keys %{$HoH{$b}} } keys %HoH ) {
+ foreach $family ( sort { keys %{$HoH{$b}} <=> keys %{$HoH{$a}} } keys %HoH ) {
print "$family: { ";
for $role ( sort keys %{ $HoH{$family} } ) {
print "$role=$HoH{$family}{$role} ";
@@ -663,10 +664,10 @@ types of data structures.
for ( qw(lead wife son daughter pal pet) ) { $rank{$_} = ++$i }
# now print the whole thing sorted by number of members
- foreach $family ( sort { keys %{$HoH{$b}} <=> keys %{$HoH{$b}} } keys %HoH ) {
+ foreach $family ( sort { keys %{ $HoH{$b} } <=> keys %{ $HoH{$a} } } keys %HoH ) {
print "$family: { ";
# and print these according to rank order
- for $role ( sort { $rank{$a} <=> $rank{$b} keys %{ $HoH{$family} } } ) {
+ for $role ( sort { $rank{$a} <=> $rank{$b} } keys %{ $HoH{$family} } ) {
print "$role=$HoH{$family}{$role} ";
}
print "}\n";
@@ -710,7 +711,7 @@ many different sorts:
=head2 Declaration of a HASH OF COMPLEX RECORDS
%TV = (
- "flintstones" => {
+ flintstones => {
series => "flintstones",
nights => [ qw(monday thursday friday) ],
members => [
@@ -720,7 +721,7 @@ many different sorts:
],
},
- "jetsons" => {
+ jetsons => {
series => "jetsons",
nights => [ qw(wednesday saturday) ],
members => [
@@ -730,7 +731,7 @@ many different sorts:
],
},
- "simpsons" => {
+ simpsons => {
series => "simpsons",
nights => [ qw(monday) ],
members => [
@@ -776,7 +777,7 @@ many different sorts:
foreach $family (keys %TV) {
$rec = $TV{$family}; # temp pointer
@kids = ();
- for $person ( @{$rec->{members}} ) {
+ for $person ( @{ $rec->{members} } ) {
if ($person->{role} =~ /kid|son|daughter/) {
push @kids, $person;
}
@@ -805,7 +806,7 @@ many different sorts:
for $who ( @{ $TV{$family}{members} } ) {
print " $who->{name} ($who->{role}), age $who->{age}\n";
}
- print "it turns out that $TV{$family}{'lead'} has ";
+ print "it turns out that $TV{$family}{lead} has ";
print scalar ( @{ $TV{$family}{kids} } ), " kids named ";
print join (", ", map { $_->{name} } @{ $TV{$family}{kids} } );
print "\n";
@@ -830,4 +831,4 @@ perlref(1), perllol(1), perldata(1), perlobj(1)
Tom Christiansen E<lt>F<tchrist@perl.com>E<gt>
Last update:
-Mon Jul 8 05:22:49 MDT 1996
+Wed Oct 23 04:57:50 MET DST 1996