#!/usr/bin/perl
# your code goes here
#!/usr/bin/perl
use strict;
use warnings;
# Define the hash of hashes
my %ai_startups = (
"Anthropic" => {
year => 2021 ,
owner => "Dario Amodei" ,
leader => "Dario Amodei"
} ,
"OpenAI" => {
year => 2015 ,
owner => "Sam Altman" ,
leader => "Sam Altman"
} ,
"Mistral" => {
year => 2023 ,
owner => "Arthur Mensch" ,
leader => "Arthur Mensch"
} ,
"Inflection" => {
year => 2022 ,
owner => "Mustafa Suleyman" ,
leader => "Mustafa Suleyman"
} ,
"Cohere" => {
year => 2019 ,
owner => "Aidan Gomez" ,
leader => "Aidan Gomez"
}
) ;
# Function to print the header and values with alignment
sub print_table {
printf "%-12s %-6s %-20s %-20s\n " , "Team" , "Year" , "Owner" , "Leader" ; foreach my $team ( @ keys ) { printf "%-12s %-6s %-20s %-20s\n " , $team , $ai_startups { $team } { year} ,
$ai_startups { $team } { owner} ,
$ai_startups { $team } { leader} ;
}
}
# Ascending order report
print "My AI Startups - sorted by Team Name ascending:\n \n " ;
# Descending order report
print "\n My AI Startups - sorted by Team Name descending:\n \n " ;
IyEvdXNyL2Jpbi9wZXJsCiMgeW91ciBjb2RlIGdvZXMgaGVyZQojIS91c3IvYmluL3BlcmwKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKIyBEZWZpbmUgdGhlIGhhc2ggb2YgaGFzaGVzCm15ICVhaV9zdGFydHVwcyA9ICgKICAgICJBbnRocm9waWMiID0+IHsKICAgICAgICB5ZWFyICAgPT4gMjAyMSwKICAgICAgICBvd25lciAgPT4gIkRhcmlvIEFtb2RlaSIsCiAgICAgICAgbGVhZGVyID0+ICJEYXJpbyBBbW9kZWkiCiAgICB9LAogICAgIk9wZW5BSSIgPT4gewogICAgICAgIHllYXIgICA9PiAyMDE1LAogICAgICAgIG93bmVyICA9PiAiU2FtIEFsdG1hbiIsCiAgICAgICAgbGVhZGVyID0+ICJTYW0gQWx0bWFuIgogICAgfSwKICAgICJNaXN0cmFsIiA9PiB7CiAgICAgICAgeWVhciAgID0+IDIwMjMsCiAgICAgICAgb3duZXIgID0+ICJBcnRodXIgTWVuc2NoIiwKICAgICAgICBsZWFkZXIgPT4gIkFydGh1ciBNZW5zY2giCiAgICB9LAogICAgIkluZmxlY3Rpb24iID0+IHsKICAgICAgICB5ZWFyICAgPT4gMjAyMiwKICAgICAgICBvd25lciAgPT4gIk11c3RhZmEgU3VsZXltYW4iLAogICAgICAgIGxlYWRlciA9PiAiTXVzdGFmYSBTdWxleW1hbiIKICAgIH0sCiAgICAiQ29oZXJlIiA9PiB7CiAgICAgICAgeWVhciAgID0+IDIwMTksCiAgICAgICAgb3duZXIgID0+ICJBaWRhbiBHb21leiIsCiAgICAgICAgbGVhZGVyID0+ICJBaWRhbiBHb21leiIKICAgIH0KKTsKCiMgRnVuY3Rpb24gdG8gcHJpbnQgdGhlIGhlYWRlciBhbmQgdmFsdWVzIHdpdGggYWxpZ25tZW50CnN1YiBwcmludF90YWJsZSB7CiAgICBteSBAa2V5cyA9IEBfOwogICAgcHJpbnRmICIlLTEycyAlLTZzICUtMjBzICUtMjBzXG4iLCAiVGVhbSIsICJZZWFyIiwgIk93bmVyIiwgIkxlYWRlciI7CiAgICBmb3JlYWNoIG15ICR0ZWFtIChAa2V5cykgewogICAgICAgIHByaW50ZiAiJS0xMnMgJS02cyAlLTIwcyAlLTIwc1xuIiwgJHRlYW0sIAogICAgICAgICAgICAkYWlfc3RhcnR1cHN7JHRlYW19e3llYXJ9LCAKICAgICAgICAgICAgJGFpX3N0YXJ0dXBzeyR0ZWFtfXtvd25lcn0sIAogICAgICAgICAgICAkYWlfc3RhcnR1cHN7JHRlYW19e2xlYWRlcn07CiAgICB9Cn0KCiMgQXNjZW5kaW5nIG9yZGVyIHJlcG9ydApwcmludCAiTXkgQUkgU3RhcnR1cHMgLSBzb3J0ZWQgYnkgVGVhbSBOYW1lIGFzY2VuZGluZzpcblxuIjsKcHJpbnRfdGFibGUoc29ydCBrZXlzICVhaV9zdGFydHVwcyk7CgojIERlc2NlbmRpbmcgb3JkZXIgcmVwb3J0CnByaW50ICJcbk15IEFJIFN0YXJ0dXBzIC0gc29ydGVkIGJ5IFRlYW0gTmFtZSBkZXNjZW5kaW5nOlxuXG4iOwpwcmludF90YWJsZShyZXZlcnNlIHNvcnQga2V5cyAlYWlfc3RhcnR1cHMpOwo=