in reply to print_notice or print $notice or print notice?

I would propose:

approach 2a (English-like, Custom)

sub complaint { "Please be sure that $_[0] is installed first" } print complaint("XXX");
The problem with #3 is that you can't tell it where to go. If you want to warn, you can't. It's going to print wherever it feels like, even if that's to the console and you're using a TK application with windows. The 'complaint' function just returns an error message.

Later, you might do this:
sub complaint { my %r = ( en => "Please be sure that $_[0] is installed first", fr => "Veuillez źtre sūr que $_[0] est installé premier" ); $r{$lang} } # ... $lang = "en"; print complaint("XXX");
Please excuse my Babelfrench.