Solved

Page follow through via date

Posted on 2001-07-16
9
182 Views
Last Modified: 2013-12-25
What is the cleanest way to display a static HTML document in CGI, based on the current date?

i.e. User accesses main.cgi
and the script outputs to monday.html, tuesday.html etc... based on the current date..
0
Comment
Question by:system
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 3

Expert Comment

by:interiot
ID: 6287787
use CGI qw(redirect);
use POSIX qw(strftime);

$day = lc(strftime("%A", localtime));
print redirect(-uri=>"http://www.yourserver.com/$day.html");


The redirect URL can be a relative path as well, if you'd like.
0
 

Author Comment

by:system
ID: 6302649
I got an internal error (500)
I am running a Linux distrib. with Apache.

are there compatible libraries to the ones above?
0
 
LVL 3

Expert Comment

by:interiot
ID: 6302786
Can you check apache's logs to see what the error was?

Here's an alternate (not so clean) version:

     my @days=qw( sunday monday tuesday wednesday thursday friday saturday);
     my $day=$days[ (localtime)[6] ];
     print "Location: http://yourserver.com/$day.html\n";
0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 

Author Comment

by:system
ID: 6304288
hmm...

That last one, screwed up as well....
error 500 misconfiguration....

I am not sure what is going on, It's not the server, and I am setting the correct chmod permissions because other scripts are working fine.

Any ideas, on formatting or adding includes??
0
 
LVL 3

Accepted Solution

by:
interiot earned 200 total points
ID: 6304307
The second one doesn't need any includes, all its functions are standard, as long as you're not using a really old version of perl.

Are you including the #!/usr/bin/perl or similar at the top?  Is it the same path used in your other scripts?

What web server are you running?  Do you know if you're able to look at the server's error logs?  (they'll show you some problems with your script, not just with the server setup)

Try adding the following lines to the begining of your script, and if the error is only in the perl script, it'll display the errors to your browser instead of to the server log:
       ## death handler, presumes no output yet
       $SIG{``__DIE__''} = $SIG{``__WARN__''} = sub {
            my $error = shift;
            chomp $error;
            $error =~ s/[<&>]/``&#''.ord($&).``;''/ge;
            print ``Content-type: text/html\n\n[$error]\n'';
            exit 0;
       };
           
0
 

Author Comment

by:system
ID: 6385718
My other perl scripts (working) have: #!/usr/bin/perl
as the first line....

same error even with Interiot's debugging death handler:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@brainfuel.ca and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

0
 

Author Comment

by:system
ID: 6385732
Interiot: The server is Apache/1.3.17
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 6699420
Please update/finalize.  You may also benefit by posting this in the Perl topic area.

Moondancer
Community Support Moderator @ Experts Exchange
0
 
LVL 1

Expert Comment

by:Computer101
ID: 6903869
Comment from expert accepted as answer.

Thank you
Computer101
E-E Moderator
0

Featured Post

Understanding Linux Permissions

Linux for beginners: How to view the permissions associated with files and directories and also how you can change them.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you get a (Blue Screen of Death), your system writes a small file called a minidump. Your first step is to make certain your computer is setup to record memory dumps. Right click My Computer, choose properties. Click on the advanced tab, an…
It is becoming increasingly popular to have a front-page slider on a web site. Nearly every TV website,  magazine or online news has one on their site, and even some e-commerce sites have one. Today you can use sliders with Joomla, WordPress or …
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

623 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