Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Re: [Fwd: Apache::Reload Module]: msg#00140

apache.mod-perl.devel

Subject: Re: [Fwd: Apache::Reload Module]

Hi Stas,

Stas Bekman wrote:

Steve Hay wrote:
[...]

If you try the version in the 2.0 package it already includes all the changes that you ask for. However it won't work with 1.0 as is, since it deploys the 2.0 API.



Unless I'm missing something, this doesn't seem to be the case. I've just downloaded the latest mp2 and checked it out. It doesn't have a "UndefOnReload" option or any equivalent thereof (and it doesn't automatically do what that option would do all the time either).


IMHO, you don't need this option. Apache::Reload does it automatically:

no warnings 'redefine';
require $file;

It actually overkills it with "no warnings FATAL => 'all';", but this is irrelevant anyway -- "use warnings" / "no warnings" are lexically scoped. The line "require $file" doesn't generate any warnings within that lexical scope, so turning warnings off there doesn't achieve anything. The "redefine" warnings come from the lexical scope of the file that it being reloaded.



If your module, afterwards does:

use warnings;

it's a problem of your module.

This is what all of my modules do, at least while under development -- which is also the scenario in which I want to make use of Apache::Reload! I don't see this as a "problem" of my module -- it's what I always do, and is recommended by various venerable sources.

Simple replace it with:

use warnings;
no warnings 'redefine';

Does this work for you? Or do you think that it's better to do an explicit symbols undef?

Yes, of course, this works for me, but I don't want to turn any warnings off. Supposing my module accidentally does redefine a subroutine? Maybe I'm mucking about with two different versions of a subroutine, and have accidentally left them both active. I'd like to know about that! It also wouldn't work for anyone running under "perl -W", which overrides all other means of disabling warnings.

I would therefore prefer to have an explicit symbols undef done. I don't necessarily want an *option* for it, though -- I'd be happy if it *always* did that. Would you ever want to see those redefine warnings? If so, then maybe have an "UndefOnReload" option that defaults to "On", and users can turn it "Off" if they wish -- like your "ReloadConstantRedefineWarnings" option. (Presumably you would consolidate both of these things into one single option.)

Steve


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
solaris.opensol...    editors.vim/200...    web.turbogears....    jakarta.ant.dev...    mathematics.max...    text.unicode.ge...    lang.ruby.core/...    xfce.announce/2...    network.centeri...    php.cvs.pear/20...    user-groups.lin...    kde.devel.quant...    file-systems.ar...    redhat.fedora.t...    apple.fink.auto...    gnome.orbit.gen...    qplus.devel/200...    culture.transpo...    video.dri.user/...    operators.nanog...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation