Well, I wrote this little program just to see if I could do it. All it is supposed to do is be like a chat...just a smaller version. Everything worked fine, with no errors or failures on my computer (Win98, 5.6.1 Perl version).
When I uploaded this to the place I use to host my scripts (free.prohosting.com)I get a 500 error. I asked the webmaster if I could maybe get a hold of the error logs. He told me that they do not log the errors for free.prohosting.com only paying people.
Okay, so, whenever I get the script on the internet and run it, it gives me a 500 internal server error. So, I played around with it and now all it does is give me a captured error (you'll know what I am saying from the code) or nothing at all-- no errors (captured or 500) and nothing that I wanted to be printed (HTML, etcetera).
Well, I guess I will stop with that crap and let you see the code.
#!/usr/bin/perl -w
# can't use -T because I use the rename function :(
use CGI qw/param textarea textfield header submit start_form end_form/
+;
#use CGI::Carp;
use strict;
#use diagnostics;
print header;
my $name = param('name');
my $said = param('talk');
my $file = 'tagbox';my $ext ='.txt';
my $full = $file.$ext;
if($name && $said){
if(defined($name && $said)){
$said =~ s/`/\'/g;
$name =~ s/`/\'/g;
open TAG,">>$full" || errorHTML("Couldn't open the
+file because $!");
print TAG $name,"`",$said,"\n";
close(TAG) || errorHTML("Shiznit");
}
}
my (@array, @array2,);
open TAG2,"<$full" || errorHTML("Damn it!");
@array = <TAG2>;
close(TAG2) || errorHTML("Fsck!");
if(@array){ #make sure there are some posts...
foreach(@array){
my ($name,$said) = split/`/;
push @array2,"\n$name - $said\n\n";
}
if($#array2 > 24){
for my $i(1..100){
my $file2 = $file.$i;
my $file3 = $file2.$ext;
if(-e $file3){
next;
}else{
rename($full,$file3);
}
}
}
$ENV{SCRIPT_NAME} =~ s/.*\/(.*\.(pl|cgi))/$1/i; # greediness can b
+e good, occasionally
print start_form(-action=>"$ENV{SCRIPT_NAME}");
print qq!<textarea name="" rows=15 cols=25 style='font-size:8pt'>!
+;
print @array2;
print qq(</textarea>\n<Br/>);
print "Name:\n",textfield(-name=>'name',-value=>$name,-maxlength=>
+10,-style=>'font-size:8pt'),"<BR>\n\n";
print "Shit: \n","<input type=text name='talk' va
+lue='' maxlength=50 style='font-size:8pt'>\n\n";
print submit(-name=>'',-value=>'Tag the thing');
print end_form;
}
sub errorHTML{print "<H1>Error!</h1>\n<BR>\n<BR>\n@_";}
Can anyone help?
Almost a Perl hacker.
Dave AKA damian
I encourage you to email me
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.