fork(1) download
  1. #!/usr/bin/perl
  2. # Perl Assignment - Hash of Hashes
  3. # Pomaika'i Pai
  4.  
  5. # Teams using a Hash of Hashes
  6.  
  7. # Football Team Year Owner Coach Manager Quarterback
  8.  
  9. # Washington Redskins 1932 Dan Snyder Jay Gruden Vacant Kirk Cousins
  10. # Oakland Raiders 1960 Mark Davis Jack Del Rio Reggie McKenzie Derek Carr
  11. # Minnesota Vikings 1960 Zygi Wilf Mike Zimmer Rick Spielman Sam Bradford
  12. # Los Angeles Rams 1936 Stan Kroenke Sean McVay Les Snead Jared Goff
  13. # Denver Broncos 1959 Pat Bowlen Vance Joseph John Elway Trevor Siemian
  14.  
  15. # I have created the following array:
  16.  
  17. @teams = ("Washington Redskins", "Oakland Raiders", "Minnesota Vikings", "Los Angeles Rams" , "Denver Broncos");
  18.  
  19. # and the following Hash of Hashes:
  20.  
  21. %myTeams = ( "Washington Redskins" => { yearBorn => 1932,
  22. owner => "Dan Snyder",
  23. coach => "Jay Gruden",
  24. manager => "Vacant",
  25. quarterback => "Kirk Cousins",
  26. },
  27. "Oakland Raiders" => { yearBorn => 1960,
  28. owner => "Mark Davis",
  29. coach => "Jack Del Rio",
  30. manager => "Reggie McKenzie",
  31. quarterback => "Derek Carr",
  32. },
  33. "Minnesota Vikings" => { yearBorn => 1960,
  34. owner => "Zygi Wilf",
  35. coach => "Mike Zimmer",
  36. manager => "Rick Spielman",
  37. quarterback => "Sam Bradford",
  38. },
  39. "Los Angeles Rams" => { yearBorn => 1936,
  40. owner => "Stan Kroenke",
  41. coach => "Sean McVay",
  42. manager => "Les Snead",
  43. quarterback => "Jared Goff",
  44. },
  45. "Denver Broncos" => { yearBorn => 1959,
  46. owner => "Pat Bowlen",
  47. coach => "Vance Joseph",
  48. manager => "John Elway",
  49. quarterback => "Trevor Siemian",
  50. },
  51.  
  52. );
  53.  
  54. # To print out sorted Team information in the Hash of Hashes (ascending order):
  55.  
  56. print ("\n\nMy Team - sorted by Team Name ascending:\n\n");
  57.  
  58. printf("%-20s \t%-6s \t%-15s \t%-10s \t%-15s \t%-10s \n", "Team", "Year", "Owner", "Coach", "Manager", "Quarterback");
  59.  
  60. @sortedKeys = sort (@teams);
  61.  
  62. for $teamName (@sortedKeys) {
  63. $yearBorn = $myTeams{$teamName}{'yearBorn'};
  64. $owner = $myTeams{$teamName}{'owner'};
  65. $coach = $myTeams{$teamName}{'coach'};
  66. $manager = $myTeams{$teamName}{'manager'};
  67. $quarterback = $myTeams{$teamName}{'quarterback'};
  68.  
  69. printf("%-20s \t%-6i \t%-15s \t%-10s \t%-15s \t%-10s \n", $teamName, $yearBorn, $owner, $coach, $manager, $quarterback);
  70. print "\n";
  71. }
  72.  
  73. # To print out sorted Team information in the Hash of Hashes (descending order):
  74.  
  75. print ("\n\My Team - sorted by Team Name decending:\n\n");
  76.  
  77. printf("%-20s \t%-6s \t%-15s \t%-10s \t%-15s \t%-10s \n", "Team", "Year", "Owner", "Coach", "Manager", "Quarterback");
  78.  
  79. @reverseKeys = reverse (@sortedKeys);
  80.  
  81. for $teamName (@reverseKeys) {
  82. $yearBorn = $myTeams{$teamName}{'yearBorn'};
  83. $owner = $myTeams{$teamName}{'owner'};
  84. $coach = $myTeams{$teamName}{'coach'};
  85. $manager = $myTeams{$teamName}{'manager'};
  86. $quarterback = $myTeams{$teamName}{'quarterback'};
  87.  
  88. printf("%-20s \t%-6i \t%-15s \t%-10s \t%-15s \t%-10s \n", $teamName, $yearBorn, $owner, $coach, $manager, $quarterback);
  89. print "\n";
  90. }
  91.  
  92. print "\n\nHTML Page containing information on my Team:\n\n";
  93.  
  94. print "<html>\n";
  95. print "<head>\n";
  96. print "<title>My Team</title>";
  97. print "</head>\n";
  98. print "<body>\n";
  99. print "<H1>Football Teams</H1>\n";
  100. print "<table border=1>\n";
  101. print "<tr><th>Team</th><th>Year</th><th>Owner</th><th>Coach</th></tr>\n";
  102.  
  103. for $teamName (sort keys %myTeams ) {
  104. $yearBorn = $myTeams{$teamName}{'yearBorn'};
  105. $owner = $myTeams{$teamName}{'owner'};
  106. $coach = $myTeams{$teamName}{'coach'};
  107. $manager = $myTeams{$teamName}{'manager'};
  108. $quarterback = $myTeams{$teamName}{'quarterback'};
  109.  
  110. print "<tr><td>$teamName</td><td>$yearBorn</td><td>$owner</td><td>$coach</td><td>$manager</td><td>$quarterback</td></tr>\n";
  111. }
  112. print "</table>\n";
  113. print "</body>\n";
  114. print "</html>\n";
  115.  
  116.  
  117. print "\n\nXML file containing information on my Team - by Team Name ascending:\n\n";
  118.  
  119. print "<?xml version=\"1.0\"?>\n";
  120. print "<teams>\n";
  121.  
  122. for $teamName (sort keys %myTeams ) {
  123.  
  124. print " <team>";
  125.  
  126. $yearBorn = $myTeams{$teamName}{'yearBorn'};
  127. $owner = $myTeams{$teamName}{'owner'};
  128. $coach = $myTeams{$teamName}{'coach'};
  129. $manager = $myTeams{$teamName}{'manager'};
  130. $quarterback = $myTeams{$teamName}{'quarterback'};
  131.  
  132. print " \n";
  133.  
  134. print " <teamName>$teamName</teamName>\n";
  135. print " <yearBorn>$yearBorn</yearBorn>\n";
  136. print " <owner>$owner</owner>\n";
  137. print " <coach>$coach</coach>\n";
  138. print " <manager>$manager</manager>\n";
  139. print " <quarterback>$quarterback</quarterback>\n";
  140.  
  141. print " </team>\n";
  142. }
  143. print "</teams>\n";
Success #stdin #stdout 0s 18256KB
stdin
Standard input is empty
stdout

My Team - sorted by Team Name ascending:

Team                 	Year   	Owner           	Coach      	Manager         	Quarterback 
Denver Broncos       	1959   	Pat Bowlen      	Vance Joseph 	John Elway      	Trevor Siemian 

Los Angeles Rams     	1936   	Stan Kroenke    	Sean McVay 	Les Snead       	Jared Goff 

Minnesota Vikings    	1960   	Zygi Wilf       	Mike Zimmer 	Rick Spielman   	Sam Bradford 

Oakland Raiders      	1960   	Mark Davis      	Jack Del Rio 	Reggie McKenzie 	Derek Carr 

Washington Redskins  	1932   	Dan Snyder      	Jay Gruden 	Vacant          	Kirk Cousins 


My Team - sorted by Team Name decending:

Team                 	Year   	Owner           	Coach      	Manager         	Quarterback 
Washington Redskins  	1932   	Dan Snyder      	Jay Gruden 	Vacant          	Kirk Cousins 

Oakland Raiders      	1960   	Mark Davis      	Jack Del Rio 	Reggie McKenzie 	Derek Carr 

Minnesota Vikings    	1960   	Zygi Wilf       	Mike Zimmer 	Rick Spielman   	Sam Bradford 

Los Angeles Rams     	1936   	Stan Kroenke    	Sean McVay 	Les Snead       	Jared Goff 

Denver Broncos       	1959   	Pat Bowlen      	Vance Joseph 	John Elway      	Trevor Siemian 



HTML Page containing information on my Team:

<html>
<head>
<title>My Team</title></head>
<body>
<H1>Football Teams</H1>
<table border=1>
<tr><th>Team</th><th>Year</th><th>Owner</th><th>Coach</th></tr>
<tr><td>Denver Broncos</td><td>1959</td><td>Pat Bowlen</td><td>Vance Joseph</td><td>John Elway</td><td>Trevor Siemian</td></tr>
<tr><td>Los Angeles Rams</td><td>1936</td><td>Stan Kroenke</td><td>Sean McVay</td><td>Les Snead</td><td>Jared Goff</td></tr>
<tr><td>Minnesota Vikings</td><td>1960</td><td>Zygi Wilf</td><td>Mike Zimmer</td><td>Rick Spielman</td><td>Sam Bradford</td></tr>
<tr><td>Oakland Raiders</td><td>1960</td><td>Mark Davis</td><td>Jack Del Rio</td><td>Reggie McKenzie</td><td>Derek Carr</td></tr>
<tr><td>Washington Redskins</td><td>1932</td><td>Dan Snyder</td><td>Jay Gruden</td><td>Vacant</td><td>Kirk Cousins</td></tr>
</table>
</body>
</html>


XML file containing information on my Team - by Team Name ascending:

<?xml version="1.0"?>
<teams>
 <team> 
 <teamName>Denver Broncos</teamName>
 <yearBorn>1959</yearBorn>
 <owner>Pat Bowlen</owner>
 <coach>Vance Joseph</coach>
 <manager>John Elway</manager>
 <quarterback>Trevor Siemian</quarterback>
 </team>
 <team> 
 <teamName>Los Angeles Rams</teamName>
 <yearBorn>1936</yearBorn>
 <owner>Stan Kroenke</owner>
 <coach>Sean McVay</coach>
 <manager>Les Snead</manager>
 <quarterback>Jared Goff</quarterback>
 </team>
 <team> 
 <teamName>Minnesota Vikings</teamName>
 <yearBorn>1960</yearBorn>
 <owner>Zygi Wilf</owner>
 <coach>Mike Zimmer</coach>
 <manager>Rick Spielman</manager>
 <quarterback>Sam Bradford</quarterback>
 </team>
 <team> 
 <teamName>Oakland Raiders</teamName>
 <yearBorn>1960</yearBorn>
 <owner>Mark Davis</owner>
 <coach>Jack Del Rio</coach>
 <manager>Reggie McKenzie</manager>
 <quarterback>Derek Carr</quarterback>
 </team>
 <team> 
 <teamName>Washington Redskins</teamName>
 <yearBorn>1932</yearBorn>
 <owner>Dan Snyder</owner>
 <coach>Jay Gruden</coach>
 <manager>Vacant</manager>
 <quarterback>Kirk Cousins</quarterback>
 </team>
</teams>