[confused about the warn]

Discussion in 'Perl Misc' started by childpsych.columbia@gmail.com, May 14, 2009.

  1. Guest

    Hi,

    I am confused about the warn.
    In the a project source code, I added some warn in aaa.pm, then the
    warn information appear in the error_log.
    but,
    I added some warn in bbb.pm, the warn information does NOT appear in
    the error_log.
    I am sure the bbb.pm is executed.
    Why?
    Is there any warn switch or warn level? What's the debug/warn
    information mechanism in mason+perl+apache?
    Thank you very much.
     
    , May 14, 2009
    #1
    1. Advertising

  2. smallpond Guest

    On May 14, 10:15 am, wrote:
    > Hi,
    >
    > I am confused about the warn.
    > In the a project source code, I added some warn in aaa.pm, then the
    > warn information appear in the error_log.
    > but,
    > I added some warn in bbb.pm, the warn information does NOT appear in
    > the error_log.
    > I am sure the bbb.pm is executed.
    > Why?
    > Is there any warn switch or warn level? What's the debug/warn
    > information mechanism in mason+perl+apache?
    > Thank you very much.


    See the docs for CGI::Carp
     
    smallpond, May 14, 2009
    #2
    1. Advertising

  3. Guest

    On May 14, 12:48 pm, smallpond <> wrote:
    > On May 14, 10:15 am, wrote:
    >
    > > Hi,

    >
    > > I am confused about the warn.
    > > In the a project source code, I added some warn in aaa.pm, then the
    > > warn information appear in the error_log.
    > > but,
    > > I added some warn in bbb.pm, the warn information does NOT appear in
    > > the error_log.
    > > I am sure the bbb.pm is executed.
    > > Why?
    > > Is there any warn switch or warn level? What's the debug/warn
    > > information mechanism in mason+perl+apache?
    > > Thank you very much.

    >
    > See the docs for CGI::Carp


    Thank you very much.
    I google CGI::Carp,
    It seems that it originally contains the Carp.

    Now, I paste the two *.pm
    (
    I add warn in Staff.pm, but the warn information does NOT appear in
    the error_log.
    I add warn in mason.pm, the warn info does appear in the error_log.
    )

    First file is lib/Clinic/Party/Staff.pm
    package Clinic::party::Staff;
    use strict;
    use Carp;


    use DBRX::Entity::Current '-isasubclass', (
    type_id => 'S',
    type_name => 'Staff',
    type_description => 'The Staff entity tracks care providers and
    support staff.',
    );

    Class::MakeMethods->make(
    'Template::Hash:scalar --eiffel' => [
    qw(
    id fname lname login password
    email title degree gender
    ethnicity_id supervisor_id
    admin clinician status clinic
    ),
    ],
    );

    # fields to display on list view
    sub list_columns {
    my $self = shift;
    my $columns = [
    {
    header => 'Name',
    field => sub {
    my $staff = shift;
    return "<a href='/S/" . $staff->id . "'>" . $staff->value
    ('lname')->text . ', ' . $staff->value('fname')->text . "</a>";
    },
    },
    {
    header => 'Email',
    field => sub {
    my $email = shift->value('email');
    return $email->text if $email;
    },
    },
    {
    header => 'Active',
    field => sub {
    my $status = shift->value('status');
    my $a = $status->text if $status;
    if ( $a eq 'No' ) {
    $a = qq|<font color="#000000">$a</font>|;
    } elsif ( $a eq 'Yes' ) {
    $a = qq|<font color="#CC0000">$a</font>|;
    }
    return $a;
    },
    },
    {
    header => 'Account Type',
    field => sub {
    my $staff = shift;
    my $val = $staff->value('type');
    return $val->text if $val;
    },
    },
    {
    header => 'Clinician',
    field => sub {
    my $clinician = shift->value('clinician');
    return $clinician->text if $clinician;
    },
    },
    {
    header => 'Supervisor',
    field => sub {
    my $s = shift->value('supervisor');
    return $s->text if $s;
    },
    },

    ];
    return $columns;
    }

    sub detail_header {
    my $self = shift;
    my $path = shift;
    my $detail_header = $self->value( 'fname' )->text . ' ' . $self-
    >value( 'lname' )->text . ', ' . $self->value( 'degree' )->text . '</

    small>';

    }

    ##

    # Authentication

    use Crypt::Simple passphrase => 'pass phrase';





    sub authenticate {

    my ( $self, $user, $pass ) = @_;
    my $enc_pass = encrypt($pass);
    my $staff = $self->fetch_one( { login => $user, password =>
    $enc_pass } ) || '';
    return unless $staff;
    return if $staff->value('type')->raw_int == 663; # type:supervisor
    return unless $staff->status; # active
    return $staff->id;
    }

    sub decrypt_pass {
    my $self = shift;
    return decrypt( $self->password );
    }
    sub is_default_pass {
    my $staff = shift;
    my $enc_clinic = encrypt('abcdef');
    return 1 if $staff->password eq $enc_clinic;
    return 0;
    }

    sub is_password_expired {
    my $staff = shift;
    return 1 if $staff->days_since_last_password_change > 90; # CUTOFF
    DAYS FOR PASS EXPIRATION
    return 0;
    }


    sub days_since_last_password_change {
    my $staff = shift;
    my $changes = DBRX::Entity::History->fetch( {
    entity_type_id => 'S',
    entity_id => $staff->id,
    } , [ 'id' ] );
    my $most_recent_pass_change = Quantity::Timestamp->current->value;
    foreach my $c ( @$changes ) {
    my $change_values = $c->values;
    foreach ( @$change_values ) {
    #warn Quantity::Timestamp->new($c->timestamp)->readable if $_-
    >attribute_id == 32;

    $_->{timestamp} = $c->timestamp;
    $most_recent_pass_change = $c->timestamp if $_->attribute_id ==
    32;
    }
    }
    #warn Quantity::Timestamp->new($most_recent_pass_change)->readable;
    return ((Quantity::Timestamp->current->value -
    $most_recent_pass_change) /
    ( 60 * 60 * 24 ) );
    }

    sub needs_to_change_password {
    my $staff = shift;
    return 1 if $staff->is_default_pass || $staff->is_password_expired;
    return 0;
    }

    ##

    sub last_session_time {
    my $user = shift;
    my $sql = 'select * from session where user_id = ' . $user->id . '
    order by id desc limit 1';
    my $session = @{$user->fetch_sql( $sql )}[0];
    my $time = Quantity::Date->current;
    $time->set_udt( $session->{started} );
    return $time->readable;
    }

    sub name_link {
    my $staff = shift;
    return q{<a href="/S/} . $staff->id . q{">} . $staff->value('name')-
    >text . q{</a>};

    }


    1;




    Second file is lib/Dixon/Mason.pm


    package Dixon::Mason;

    use strict;
    use Carp;

    use Apache::Constants qw( :response );
    use HTML::Mason;

    use Carp;

    use Dixon::Session::Identifier;

    ########################################################################

    use vars qw( $Interpreter $ApacheHandler $Session );

    use Clinic::Site::Config;
    my $server_root = Clinic::Site::Config->dir_path;

    $Interpreter = HTML::Mason::Interp->new(
    parser => HTML::Mason::parser->new(),
    comp_root => $server_root,
    data_dir => "$server_root/var/mason",
    out_mode => 'batch',
    # use_data_cache => undef(),
    code_cache_max_size => 0,
    # verbose_compile_error => 1,
    dhandler_name => 'dhandler',
    );

    use HTML::Mason::ApacheHandler (args_method=>'mod_perl');

    $ApacheHandler = HTML::Mason::ApacheHandler->new(
    interp => $Interpreter,
    error_mode => 'fatal',
    decline_dirs => 0,
    # error_mode => 'html',
    # output_mode => 'batch',
    );

    ########################################################################

    my @proxy_addrs = qw( 127.0.0.1 209.208.128.102 209.208.128.101 );

    sub correct_proxy_address ($) {
    my $r = shift;

    # we'll only look at the X-Forwarded-For header if the requests
    # comes from our proxy at localhost
    my $remote = $r->connection->remote_ip;
    my $forward = $r->header_in('X-Forwarded-For');

    return Apache::Constants::OK
    unless ( $forward and grep { $remote eq $_ } @proxy_addrs );

    # Select last value in the chain -- original client's ip
    if ( my($ip) = ($forward =~ /([^,\s]+)$/) ) {
    $r->connection->remote_ip($ip);
    }

    return Apache::Constants::OK;
    }

    ########################################################################

    use HTTP::Date qw(time2str str2time);
    use Time::HiRes;

    sub content_handler {
    my $time = time();

    my ($r) = @_;

    my $uri = $r->uri();
    my $pid = $$;


    warn "Dixon::Mason content_handler for $uri\n";
    warn "Query String: " . substr( $r->args(), 0, 125 ) . "\n" if $r-
    >args;


    $r->no_cache();
    $r->header_out("Expires" => time2str($time - (60*60*3)));

    # CATCH ANNOYING REQUESTS
    # Added default.ida 2.15.2002
    # Added favico 8.1.2005
    # Added servlet/webacc 5.14.2006

    if ( $uri =~ /scripts/ or $uri =~ /\.exe/
    or $uri =~ /default.ida/ or $uri =~ /\.asp/
    or $uri =~ /\.dll/ or $uri =~ /favico/
    or $uri =~ /webacc/ or $uri =~ /vti/
    ) {
    $r->get_remote_host;
    #warn 'Inappropriate Request From: ' . $r->get_remote_host . ':' .
    $r->get_remote_logname;
    return 'FORBIDDEN';
    }

    ### Session
    my ( $Session, $status );
    eval {
    local $SIG{ALRM} = sub { die "Timeout waiting for session $@" };
    alarm 45;

    $Session = Dixon::Session::Identifier->establish( $r );
    warn "Session: $Session->{public_id}\n";
    alarm 0;

    local $HTML::Mason::Commands::Session = $Session;

    $status = $ApacheHandler->handle_request($r);
    $time = time() - $time;
    warn "Mason ApacheHandler returned $status\n";
    warn "user_id:" . ( $Session->{user_id} || '(Not Logged In)' ) .
    ":page:$uri:time:$time\n\n";
    };
    die $@ if $@;
    return $status;
    }

    sub child_init_handler {
    # Make sure each Apache process has its own random numbers.
    srand();
    warn "Mason.pm.......................01";
    warn "Reconnecting to database...\n";
    warn "Mason.pm.......................02";
    DBRX::Framework->datasource->reconnect();
    warn "Mason.pm.......after reconnect()";
    }

    sub fixup_handler {
    my ($r) = @_;
    my $uri = $r->uri();
    warn "entering fixup handler for $uri";
    return DECLINED;
    }

    ########################################################################

    # $component = Dixon::Mason->fetch_component( $component_path );
    sub fetch_component {
    my $class = shift;
    my $component_name = shift;

    $HTML::Mason::Commands::m->fetch_comp( $component_name )
    or Carp::confess("No such component '$component_name'");
    }

    # $component = Dixon::Mason->build_component( $mason_text );
    sub build_component {
    my $class = shift;
    my $expr = shift;
    return $Interpreter->make_component( script => $expr );
    }

    # $result = Dixon::Mason->eval_component( $mason_text, @arguments );
    sub eval_component {
    my $class = shift;
    my $expr = shift;
    my $component = ref($expr) ? $expr :
    $Interpreter->make_component( script => $expr )
    or Carp::croak( "Can't interpret component '$expr'" );
    my $result = $HTML::Mason::Commands::m->scomp( $component, @_ );
    # warn "Eval '$expr' : '$result'\n";
    $result;
    }
    package HTML::Mason::Commands;

    use vars qw( $Session $SessionID $SessionData $SessionEvent );
    use Carp;
    use Dixon::HTMLWriter qw[
    emit_uri emit_text emit_text_paras emit_tag
    ];

    1;



    Thank you very much.
     
    , May 14, 2009
    #3
  4. wrote:
    > I add warn in Staff.pm, but the warn information does NOT appear in
    > the error_log.


    Try to uncomment the lines with the warn() statements.

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
     
    Gunnar Hjalmarsson, May 14, 2009
    #4
  5. Guest

    On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > >  I add warn in Staff.pm, but the warn information does NOT appear in
    > > the error_log.

    >
    > Try to uncomment the lines with the warn() statements.
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    Dear Gunnar,
    What's your meaning?
    I am sorry that I know nothing about the whole project source code.
     
    , May 14, 2009
    #5
  6. Guest

    On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > >  I add warn in Staff.pm, but the warn information does NOT appear in
    > > the error_log.

    >
    > Try to uncomment the lines with the warn() statements.
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    Dear Gunnar,

    What's your meaning?
    I am sorry that I know nothing about the whole project source code.
     
    , May 14, 2009
    #6
  7. Guest

    On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > >  I add warn in Staff.pm, but the warn information does NOT appear in
    > > the error_log.

    >
    > Try to uncomment the lines with the warn() statements.
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    Actually,
    I read the source code.
    I found that the login.masn call the Staff->authenticate.
    the code is as follows:
    my $staff_id = Clinic::party::Staff->authenticate( $username,
    $pass );

    So, I goto lib/Clinic/Party/Staff.pm, there is a sub authenticate.
    I add a warn statement in the sub authenticate.
    But it seems that the warn information does not appear in the
    error_log.

    Thank you very much.
    Best,
    Bruce
     
    , May 14, 2009
    #7
  8. wrote:
    > On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    >> wrote:
    >>> I add warn in Staff.pm, but the warn information does NOT appear in
    >>> the error_log.

    >>
    >> Try to uncomment the lines with the warn() statements.

    >
    > I read the source code.


    Thank you very much!

    > I found that the login.masn call the Staff->authenticate.
    > the code is as follows:
    > my $staff_id = Clinic::party::Staff->authenticate( $username,
    > $pass );
    >
    > So, I goto lib/Clinic/Party/Staff.pm, there is a sub authenticate.
    > I add a warn statement in the sub authenticate.
    > But it seems that the warn information does not appear in the
    > error_log.


    I see no warn() statements in sub authenticate. I see two warn()
    statements in sub days_since_last_password_change, but they are
    commented out.

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
     
    Gunnar Hjalmarsson, May 14, 2009
    #8
  9. Guest

    On May 14, 4:36 pm, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > > On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > >> wrote:
    > >>>  I add warn in Staff.pm, but the warn information does NOT appear in
    > >>> the error_log.

    >
    > >> Try to uncomment the lines with the warn() statements.

    >
    > > I read the source code.

    >
    > Thank you very much!
    >
    > > I found that the login.masn call the Staff->authenticate.
    > >  the code is as follows:
    > >  my $staff_id = Clinic::party::Staff->authenticate( $username,
    > > $pass );

    >
    > > So, I goto lib/Clinic/Party/Staff.pm, there is a sub authenticate.
    > > I add a warn statement in the sub authenticate.
    > > But it seems that the warn information does not appear in the
    > > error_log.

    >
    > I see no warn() statements in sub authenticate. I see two warn()
    > statements in sub days_since_last_password_change, but they are
    > commented out.
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    Thank you Gunnar.
    Yes.
    I add a warn in sub authenticate. But they are no value. they are like
    warn ".......Bruce Bruce.....\n";
    So, I paste the original source code.
    ^_^
    Thank you very much again.
     
    , May 14, 2009
    #9
  10. smallpond Guest

    On May 14, 5:04 pm, wrote:
    > On May 14, 4:36 pm, Gunnar Hjalmarsson <> wrote:
    >
    >
    >
    > > wrote:
    > > > On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > > >> wrote:
    > > >>> I add warn in Staff.pm, but the warn information does NOT appear in
    > > >>> the error_log.

    >
    > > >> Try to uncomment the lines with the warn() statements.

    >
    > > > I read the source code.

    >
    > > Thank you very much!

    >
    > > > I found that the login.masn call the Staff->authenticate.
    > > > the code is as follows:
    > > > my $staff_id = Clinic::party::Staff->authenticate( $username,
    > > > $pass );

    >
    > > > So, I goto lib/Clinic/Party/Staff.pm, there is a sub authenticate.
    > > > I add a warn statement in the sub authenticate.
    > > > But it seems that the warn information does not appear in the
    > > > error_log.

    >
    > > I see no warn() statements in sub authenticate. I see two warn()
    > > statements in sub days_since_last_password_change, but they are
    > > commented out.

    >
    > > --
    > > Gunnar Hjalmarsson
    > > Email:http://www.gunnar.cc/cgi-bin/contact.pl

    >
    > Thank you Gunnar.
    > Yes.
    > I add a warn in sub authenticate. But they are no value. they are like
    > warn ".......Bruce Bruce.....\n";
    > So, I paste the original source code.
    > ^_^
    > Thank you very much again.



    sub authenticate {

    warn "It makes a difference\n";

    my ( $self, $user, $pass ) = @_;
    my $enc_pass = encrypt($pass);
    my $staff = $self->fetch_one( { login => $user, password =>
    $enc_pass } ) || '';
    return unless $staff;

    warn "where you put the warn statement.\n";

    return if $staff->value('type')->raw_int == 663; # type:supervisor
    return unless $staff->status; # active
    return $staff->id;

    warn "But we cannot read your mind.\n";

    }
     
    smallpond, May 14, 2009
    #10
  11. Guest

    On May 14, 5:42 pm, smallpond <> wrote:
    > On May 14, 5:04 pm, wrote:
    >
    >
    >
    > > On May 14, 4:36 pm, Gunnar Hjalmarsson <> wrote:

    >
    > > > wrote:
    > > > > On May 14, 3:10 pm, Gunnar Hjalmarsson <> wrote:
    > > > >> wrote:
    > > > >>>  I add warn in Staff.pm, but the warn information does NOT appear in
    > > > >>> the error_log.

    >
    > > > >> Try to uncomment the lines with the warn() statements.

    >
    > > > > I read the source code.

    >
    > > > Thank you very much!

    >
    > > > > I found that the login.masn call the Staff->authenticate.
    > > > >  the code is as follows:
    > > > >  my $staff_id = Clinic::party::Staff->authenticate( $username,
    > > > > $pass );

    >
    > > > > So, I goto lib/Clinic/Party/Staff.pm, there is a sub authenticate.
    > > > > I add a warn statement in the sub authenticate.
    > > > > But it seems that the warn information does not appear in the
    > > > > error_log.

    >
    > > > I see no warn() statements in sub authenticate. I see two warn()
    > > > statements in sub days_since_last_password_change, but they are
    > > > commented out.

    >
    > > > --
    > > > Gunnar Hjalmarsson
    > > > Email:http://www.gunnar.cc/cgi-bin/contact.pl

    >
    > > Thank you Gunnar.
    > > Yes.
    > > I add a warn in sub authenticate. But they are no value. they are like
    > > warn ".......Bruce Bruce.....\n";
    > > So, I paste the original source code.
    > > ^_^
    > > Thank you very much again.

    >
    > sub authenticate {
    >
    >   warn "It makes a difference\n";
    >
    >   my ( $self, $user, $pass ) = @_;
    >   my $enc_pass = encrypt($pass);
    >   my $staff = $self->fetch_one( { login => $user, password =>
    > $enc_pass } ) || '';
    >   return unless $staff;
    >
    >   warn "where you put the warn statement.\n";
    >
    >   return if $staff->value('type')->raw_int == 663; # type:supervisor
    >   return unless $staff->status; # active
    >   return $staff->id;
    >
    >   warn "But we cannot read your mind.\n";
    >
    > }
    >
    >


    Thank you very much!

    I found the problem.
    Everytime, I add the warn. I didn't restart the apache.
    So the warn didn't appear.
    Now, I restart the apache, the warn information appears.
    WHY???
    Perl is not like C. Why do I need to restart Apache? or Is there any
    cache??

    Best,
    Bruce
    Thank you again!
     
    , May 15, 2009
    #11
  12. wrote:
    > Everytime, I add the warn. I didn't restart the apache.
    > So the warn didn't appear.
    > Now, I restart the apache, the warn information appears.
    > WHY???
    > Perl is not like C. Why do I need to restart Apache?


    One possible reason is that the program is run under mod_perl.

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
     
    Gunnar Hjalmarsson, May 15, 2009
    #12
  13. Guest

    On May 14, 7:22 pm, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > > Everytime, I add the warn. I didn't restart the apache.
    > > So the warn didn't appear.
    > > Now, I restart the apache, the warn information appears.
    > > WHY???
    > > Perl is not like C. Why do I need to restart Apache?

    >
    > One possible reason is that the program is run under mod_perl.
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    So, when I debug the source code. I need to restart apache if I make
    any change? Is there a way to avoid this frequently restart apache?
     
    , May 15, 2009
    #13
  14. wrote in news:fbfa2398-ee65-4042-9dce-
    :

    > On May 14, 7:22 pm, Gunnar Hjalmarsson <> wrote:
    >> wrote:
    >> > Everytime, I add the warn. I didn't restart the apache.
    >> > So the warn didn't appear.
    >> > Now, I restart the apache, the warn information appears.
    >> > WHY???
    >> > Perl is not like C. Why do I need to restart Apache?

    >>
    >> One possible reason is that the program is run under mod_perl.


    [ don't quote sigs ]

    >
    > So, when I debug the source code. I need to restart apache if I make
    > any change? Is there a way to avoid this frequently restart apache?


    Well, why, yes there is:

    http://perl.apache.org/docs/2.0/api/Apache2/Reload.html

    Please read the posting guidelines for this group. Please put some
    effort into composing your posts.

    Sinan

    --
    A. Sinan Unur <>
    (remove .invalid and reverse each component for email address)

    comp.lang.perl.misc guidelines on the WWW:
    http://www.rehabitation.com/clpmisc/
     
    A. Sinan Unur, May 15, 2009
    #14
  15. wrote:
    > On May 14, 7:22 pm, Gunnar Hjalmarsson <> wrote:
    >> wrote:
    >>> Why do I need to restart Apache?

    >>
    >> One possible reason is that the program is run under mod_perl.

    >
    > So, when I debug the source code. I need to restart apache if I make
    > any change?


    It was you who said it, so you don't need to ask, do you?

    > Is there a way to avoid this frequently restart apache?


    Assuming mod_perl (which is just my theory) this might help:
    http://perl.apache.org/docs/2.0/api/Apache2/Reload.html

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
     
    Gunnar Hjalmarsson, May 15, 2009
    #15
  16. Guest

    On 14 May, 20:23, "A. Sinan Unur" <> wrote:
    > wrote in news:fbfa2398-ee65-4042-9dce-
    > :
    >
    > > On May 14, 7:22 pm, Gunnar Hjalmarsson <> wrote:
    > >> wrote:
    > >> > Everytime, I add the warn. I didn't restart the apache.
    > >> > So the warn didn't appear.
    > >> > Now, I restart the apache, the warn information appears.
    > >> > WHY???
    > >> > Perl is not like C. Why do I need to restart Apache?

    >
    > >> One possible reason is that the program is run under mod_perl.

    >
    > [ don't quote sigs ]
    >
    >
    >
    > > So, when I debug the source code. I need to restart apache if I make
    > > any change? Is there a way to avoid this frequently restart apache?

    >
    > Well, why, yes there is:
    >
    > http://perl.apache.org/docs/2.0/api/Apache2/Reload.html
    >
    > Please read the posting guidelines for this group. Please put some
    > effort into composing your posts.
    >
    > Sinan
    >
    > --
    > A. Sinan Unur <>
    > (remove .invalid and reverse each component for email address)
    >
    > comp.lang.perl.misc guidelines on the WWW:http://www.rehabitation.com/clpmisc/


    Thank you.
    I will read it.
     
    , May 15, 2009
    #16
  17. Guest

    On 14 May, 20:24, Gunnar Hjalmarsson <> wrote:
    > wrote:
    > > On May 14, 7:22 pm, Gunnar Hjalmarsson <> wrote:
    > >> wrote:
    > >>> Why do I need to restart Apache?

    >
    > >> One possible reason is that the program is run under mod_perl.

    >
    > > So, when I debug the source code. I need to restart apache if I make
    > > any change?

    >
    > It was you who said it, so you don't need to ask, do you?
    >
    > > Is there a way to avoid this frequently restart apache?

    >
    > Assuming mod_perl (which is just my theory) this might help:http://perl.apache.org/docs/2.0/api/Apache2/Reload.html
    >
    > --
    > Gunnar Hjalmarsson
    > Email:http://www.gunnar.cc/cgi-bin/contact.pl


    Thank you very much.
    From today, Perl will be my main working language. ^_^.
    Thanks again.
     
    , May 15, 2009
    #17
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jason L. Woodruff

    how to warn?

    Jason L. Woodruff, Sep 9, 2004, in forum: Perl
    Replies:
    1
    Views:
    680
    Andres Monroy-Hernandez
    Sep 10, 2004
  2. Elmo Watson

    Trace.Warn

    Elmo Watson, Oct 29, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    580
    Elmo Watson
    Oct 29, 2003
  3. Tone Curtis
    Replies:
    3
    Views:
    4,551
    Tone Curtis
    Jun 10, 2004
  4. Replies:
    7
    Views:
    26,030
    rohit.net100
    Feb 28, 2011
  5. =?Utf-8?B?Tkg=?=

    Warn user that session expired?

    =?Utf-8?B?Tkg=?=, Jan 6, 2006, in forum: ASP .Net
    Replies:
    6
    Views:
    4,199
    Peter Rilling
    Jan 6, 2006
Loading...

Share This Page