Perl Hashes sind Key, Value Paare. Die Reihenfolge bleibt nicht erhalten. Wenn du die Reihenfolge beibehalten willst, nimm z.B. ein Array von Hashes:
my @arrMenue = ( { name => "Home", link => "/index.html" }, { name => "Wetter", link => "foo" }, ...);
Dann in der Funktion:
foreach my $ref...