in reply to errors revisited

here is the revised code commenting out carp and cgi:carp
#!/usr/bin/perl -w #use CGI::Carp('fatalsToBrowser'); #use Carp; use diagnostics; use strict; use warnings; my @pages; my @xfilenames; my @filenames; my @xtitles; my @titles; my @xheadings; my @headings; my @xstuff; my $xstuff=""; my @stuff; my @xtemplate; my $xtemplate=""; my @template; open(PAGES, "<pages.txt") || die $!; @pages = <PAGES>; close(PAGES); foreach $_ (@pages) { if (m/^\*{4}filename.ext\*{4}/) { push(@xfilenames, $_) } elsif (m/^\*{4}title\*{4}/) { push(@xtitles, $_) } elsif (m/^\*{4}heading\*{4}/) { push(@xheadings, $_) } else { push(@xstuff, $_) } } foreach $_ (@xfilenames) { s/^\*{4}filename.ext\*{4}//; chomp ($_); push(@filenames, $_); } foreach $_ (@xtitles) { s/^\*{4}title\*{4}//; chomp ($_); push(@titles, $_); } foreach $_ (@xheadings) { s/^\*{4}heading\*{4}//; chomp ($_); push(@headings, $_); } $xstuff = join("", @xstuff); @stuff = $xstuff =~ /\*{4}stuff\*{4}(.*?)\*{4}endstuff\*{4}/sg; open(TEMPLATE, "<template.html") || die $!; @xtemplate = <TEMPLATE>; close (TEMPLATE); $xtemplate = join("", @xtemplate); @template = $xtemplate =~ /^(.*?)\*{4}filename.ext\*{4}/sg; push (@template, $xtemplate =~ /\*{4}filename.ext\*{4}(.*?)\*{4}title\ +*{4}/sg); push (@template, $xtemplate =~ /\*{4}title\*{4}(.*?)\*{4}headings\*{4} +/sg); push (@template, $xtemplate =~ /\*{4}headings\*{4}(.*?)/sg); for (my $i=0; $i < (@filenames); $i++) { open(FILE, ">@filenames[$i]") || die $!; print FILE qq($temlate[0] $title[$i] $template[1] $heading[$i] $te +mplate[2] $stuff[$i] $template[3]); close(FILE); } print "Content-type:text/html\n\n"; print <<EndHTML; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transisional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <head> <title>create</title> </head> <body> EndHTML foreach (@filenames) { print "<p>Name:$_</p>"; } print "<hr />"; foreach (@titles) { print "<p>Titles:$_</p>"; } print "<hr />"; foreach (@headings) { print "<p>Headings:$_</p>"; } print "<hr />"; foreach (@stuff) { print "<p>stuff:$_</p>"; } print <<EndHTML; </body> </html> EndHTML
then i run it from the command line like this
perl -cw create2.pl
and it still returns these errors
C:\Perl>perl -cw create2.pl [Wed Aug 22 12:30:50 2001] (eval 1): Array found where operator expect +ed at (eva l 1) line 1, at end of line [Wed Aug 22 12:30:50 2001] (eval 1): (Do you need to predeclare Car +p::longmes s?) [Wed Aug 22 12:30:50 2001] (eval 1): Array found where operator expect +ed at (eva l 1) line 2, at end of line [Wed Aug 22 12:30:50 2001] (eval 1): (Do you need to predeclare Car +p::shortme ss?) [Wed Aug 22 12:30:50 2001] (eval 1): Array found where operator expect +ed at (eva l 1) line 3, at end of line [Wed Aug 22 12:30:50 2001] (eval 1): (Do you need to predeclare Car +p::shortme ss?) [Wed Aug 22 12:30:50 2001] (eval 1): Array found where operator expect +ed at (eva l 1) line 4, at end of line [Wed Aug 22 12:30:50 2001] (eval 1): (Do you need to predeclare Car +p::longmes s?) Undefined subroutine &Carp::longmess called at C:\PERL\lib/Carp.pm lin +e 296.
what is wrong with lines 1-4 and why is it still giving me an error about carp, im not using it!!!!THANKS for your time and sorry im so slow at figuring this out

Replies are listed 'Best First'.
Re: im trying its just pissed at me
by dragonchild (Archbishop) on Aug 22, 2001 at 23:42 UTC
    *laughs* I think diagnostics brings in Carp by itself. Get rid of diagnostics and you should be better.

    Also, instead of foreach $_ (@filenames), do foreach (@filenames). The $_ is implicitly done for you.

    ------
    /me wants to be the brightest bulb in the chandelier!

    Vote paco for President!