in reply to Perl/Tk menu item

I guess you are saying that, you could not change the background color of your main window. One big posibility is that, you might have successfully changed the color without your notice, at some point during your try.

Is this posible? Yes, there is a common confusion in this kind of case. As your $Body frame covers the whole main window, also your label covers your entire $Body frame, you just can not see your main window and $Body at all.

What you can do is, when you call function pack, specify padx, and pady options, and this will pad spaces around your widget, so you can always see piece of its parent widget. For example:
$Body->Label(-text => "abcd")->pack(padx => 10, pady => 10);
Enjoy!