This is Perl Language. Please help me make this code work. #!/usr/bin/perl # Spo
ID: 3712700 • Letter: T
Question
This is Perl Language. Please help me make this code work.
#!/usr/bin/perl
# Sports Team Year Owner Leader Coach 2nd Best Player
# NE Patriots 2007 NFL Tom Brady Bill Belichick Randy Moss
# Chicago Bulls 1991 NBA Michael Jordan Phil Jackson Scottie Pippen
# NY Yankees 1998 MLB Derek Jeter Joe Torre Mariano Rivera
# Edmonton Oilers 1983 NHL Wayne Gretzky Glen Sather Mark Messer
# USA Basketball 1992 Olympics Magic Johnson Chuck Daly Michael Jordan
# I have created the following array:
@teams = ("New England Patriots", "Chicago Bulls", "New York Yankees", "Edmonton Oilers" , "USA Basketball");
# and the following Hash of Hashes:
%myTeams = ( "New England Patriots" => { yearBorn => 2007,
owner => "NFL",
leader => "Tom Brady",
headCoach => "Bill Belichick"
secondBestPlayer => "Randy Moss"
},
"Chicago Bulls" => { yearBorn => 1991,
owner => "NBA",
leader => "Michael Jordan"
headCoach => "Phil Jackson"
secondBestPlayer => "Scottie Pippen"
},
"New York Yankees" => { yearBorn => 1998,
owner => "MLB",
leader => "Derek Jeter"
headCoach =>"Joe Torre"
secondBestPlayer => "Mariano Rivera"
},
"Edmonton Oilers" => { yearBorn => 1983,
owner => "NHL",
leader => "Wayne Gretzky",
headCoach =>"Glen Sather"
secondBestPlayer => "Mark Messer"
},
"USA Basketball" => { yearBorn => 1992,
owner => "Olympics",
leader => "Magic Johnson"
headCoach => "Chuck Daly"
secondBestPlayer => "Michael Jordan"
},
);
# To print out sorted Team information in the Hash of Hashes (ascending order):
print (" Best Sports Teams - sorted by Team Name ascending: ");
printf("%-20s %-6s %-10s %-25s %-25s %-25s ", "Team", "Year", "Owner", "Leader", "Coach", "2nd Best Player");
@sortedKeys = sort (@teams);
for $teamName (@sortedKeys) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
printf("%-20s %-6i %-10s %-25s %-25s %25 ", $teamName, $yearBorn, $owner, $leader,$headCoach, $secondBestPlayer);
print " ";
}
# To print out sorted Team information in the Hash of Hashes (descending order):
print (" Best Sports Teams - sorted by Team Name decending: ");
printf("%-20s %-6s %-10s %-25s ", "Team", "Year", "Owner", "Leader", "Coach", "2nd Best Player");
@reverseKeys = reverse (@sortedKeys);
for $teamName (@reverseKeys) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
printf("%-20s %-6i %-10s %-25s ", $teamName, $yearBorn, $owner, $leader, $headCoach, $secondBestPlayer);
print " ";
}
print " HTML Page containing information on my Team: ";
print "<html> ";
print "<head> ";
print "<title>Sports Teams</title>";
print "</head> ";
print "<body> ";
print "<H1>Best Sports Teams</H1> ";
print "<table border=1> ";
print "<tr><th>Team</th><th>Year</th><th>Owner</th><th>Leader</th></tr> ";
for $teamName (sort keys %myTeams ) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
print "<tr><td>$teamName</td><td>$yearBorn</td><td>$owner</td><td>$leader</td></tr> ";
}
print "</table> ";
print "</body> ";
print "</html> ";
Explanation / Answer
OUTPUT OF THE ABOVE PROGRAM IS
MODIFIED CODE
#!/usr/bin/perl
# Sports Team Year Owner Leader Coach 2nd Best Player
# NE Patriots 2007 NFL Tom Brady Bill Belichick Randy Moss
# Chicago Bulls 1991 NBA Michael Jordan Phil Jackson Scottie Pippen
# NY Yankees 1998 MLB Derek Jeter Joe Torre Mariano Rivera
# Edmonton Oilers 1983 NHL Wayne Gretzky Glen Sather Mark Messer
# USA Basketball 1992 Olympics Magic Johnson Chuck Daly Michael Jordan
# I have created the following array:
@teams = ("New England Patriots", "Chicago Bulls", "New York Yankees", "Edmonton Oilers" , "USA Basketball");
# and the following Hash of Hashes:
%myTeams = ( "New England Patriots" => { yearBorn => 2007,
owner => "NFL",
leader => "Tom Brady",
headCoach => "Bill Belichick",
secondBestPlayer => "Randy Moss"
},
"Chicago Bulls" => { yearBorn => 1991,
owner => "NBA",
leader => "Michael Jordan",
headCoach => "Phil Jackson",
secondBestPlayer => "Scottie Pippen"
},
"New York Yankees" => { yearBorn => 1998,
owner => "MLB",
leader => "Derek Jeter",
headCoach =>"Joe Torre",
secondBestPlayer => "Mariano Rivera"
},
"Edmonton Oilers" => { yearBorn => 1983,
owner => "NHL",
leader => "Wayne Gretzky",
headCoach =>"Glen Sather",
secondBestPlayer => "Mark Messer"
},
"USA Basketball" => { yearBorn => 1992,
owner => "Olympics",
leader => "Magic Johnson",
headCoach => "Chuck Daly",
secondBestPlayer => "Michael Jordan"
},
);
# To print out sorted Team information in the Hash of Hashes (ascending order):
print (" Best Sports Teams - sorted by Team Name ascending: ");
printf("%-20s %-6s %-10s %-25s %-25s %-25s ", "Team", "Year", "Owner", "Leader", "Coach", "2nd Best Player");
@sortedKeys = sort (@teams);
for $teamName (@sortedKeys) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
printf("%-20s %-6i %-10s %-25s %-25s %25 ", $teamName, $yearBorn, $owner, $leader,$headCoach, $secondBestPlayer);
print " ";
}
# To print out sorted Team information in the Hash of Hashes (descending order):
print (" Best Sports Teams - sorted by Team Name decending: ");
printf("%-20s %-6s %-10s %-25s ", "Team", "Year", "Owner", "Leader", "Coach", "2nd Best Player");
@reverseKeys = reverse (@sortedKeys);
for $teamName (@reverseKeys) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
printf("%-20s %-6i %-10s %-25s ", $teamName, $yearBorn, $owner, $leader, $headCoach, $secondBestPlayer);
print " ";
}
print " HTML Page containing information on my Team: ";
print "<html> ";
print "<head> ";
print "<title>Sports Teams</title>";
print "</head> ";
print "<body> ";
print "<H1>Best Sports Teams</H1> ";
print "<table border=1> ";
print "<tr><th>Team</th><th>Year</th><th>Owner</th><th>Leader</th></tr> ";
for $teamName (sort keys %myTeams ) {
$yearBorn = $myTeams{$teamName}{'yearBorn'};
$owner = $myTeams{$teamName}{'owner'};
$leader = $myTeams{$teamName}{'leader'};
$headCoach = $myTeams{$teamName}{'headCoach'};
$secondBestPlayer = $myTeams{$teamName}{'secondBestPlayer'};
print "<tr><td>$teamName</td><td>$yearBorn</td><td>$owner</td><td>$leader</td></tr> ";
}
print "</table> ";
print "</body> ";
print "</html> ";
OUTPUT OF WEB PAGE IS
Best Sports Teams
$perl main.pl Best Sports Teams - sorted by Team Name ascending: Team Year Owner Leader Coach 2nd Best Player Chicago Bulls 1991 NBA Michael Jordan Phil Jackson %25 Edmonton Oilers 1983 NHL Wayne Gretzky Glen Sather %25 New England Patriots 2007 NFL Tom Brady Bill Belichick %25 New York Yankees 1998 MLB Derek Jeter Joe Torre %25 USA Basketball 1992 Olympics Magic Johnson Chuck Daly %25 Best Sports Teams - sorted by Team Name decending: Team Year Owner Leader USA Basketball 1992 Olympics Magic Johnson New York Yankees 1998 MLB Derek Jeter New England Patriots 2007 NFL Tom Brady Edmonton Oilers 1983 NHL Wayne Gretzky Chicago Bulls 1991 NBA Michael Jordan
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.