Solved

new to PERL: explain a procedure

Posted on 2008-10-17
1
1,234 Views
Last Modified: 2012-06-22
Hello : I AM totally new to PERL
I have to change some functions in a website written in PERL.
Can someone explain me step by step(line by line) what this function does ?
especially
   $Session = CGI::Session->new($SESSION_DSN, $source || $class->genRef, $SESSION_ARGS)

(I do use PHP)

Regards





sub create_session {
    my ($class, $source) = @_;
    my $Session;
   
    do {
        $Session && warn "COOKIE exist: $source !";

        $Session = CGI::Session->new($SESSION_DSN, $source || $class->genRef, $SESSION_ARGS)
            or die CGI::Session->errstr;
    }
    while (
        not($source) && not($Session->is_new)
    );

    return $Session;
}
0
Comment
Question by:yarek
1 Comment
 
LVL 39

Accepted Solution

by:
Adam314 earned 500 total points
ID: 22741046
For more details on CGI::Session, see here:
    http://search.cpan.org/~markstos/CGI-Session-4.36/lib/CGI/Session.pm

#define a subroutine, named create_session

sub create_session {

    #Get the first passed parameter as $class, the second as $source

    my ($class, $source) = @_;

    

    #define a variable $Session, with no value

    my $Session;

    

    #Beginning of a loop

    do {

        #If $Session is defined, display a warning

        $Session && warn "COOKIE exist: $source !";
 

        #Set $Session to a new CGI::Session

        #For that new object, use $SESSION_DSN as the data source

        #if $source is defined, use that for the session id, otherwise use $class->genRef

        #use $SESSION_ARGS as options

        #If creating the object failed, die (exit with error value) displaying an error message

        $Session = CGI::Session->new($SESSION_DSN, $source || $class->genRef, $SESSION_ARGS)

            or die CGI::Session->errstr;

    }

    #Continue trying that while $source is not defined, and $Session is not new

    while (

        not($source) && not($Session->is_new)

    );

    

    #Return $Session to the calling procedure

    return $Session;

}

Open in new window

0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now