This is really strange. I have a method that works and returns all the values in a file for the cgi object. But on the second call to the script it opens the file and returns none of the cgi parameters.
the $cgi->param( ) returns POSTDATA and the keywords( ) returns nothing. I'm using strict and warnings sub readpics{ print STDERR "\n readpics "; if(-e "./pic_urls.txt"){ if(open(PICSR, "./pic_urls.txt")){ # it gets here just fine. print STDERR "\n exists pic_urls.txt"; my$pm;{no strict;$pm = new CGI(PICSR); if($pm){ [EMAIL PROTECTED] = $pm->param( ); [EMAIL PROTECTED] = $pm->keywords( ); print STDERR "\n param @p\n keywords @q"; for(my$i=0;$i<$numpics;$i++){ $caps[$i] = "1";$urls[$i] = "1"; $urls[$i] = $pm->param("url_".$i); $caps[$i] = $pm->param("caps_".$i); $caps .= "$caps[$i]|"; $urls .= "$urls[$i]|"; } } close(PICSR); $caps =~ s/\n//g;$caps =~ [EMAIL PROTECTED]|$@@;$caps = "&caps=$caps"; $urls =~ s/\n//g;$urls =~ [EMAIL PROTECTED]|$@@;$urls = "&urls=$urls"; print STDERR "\n caps = $caps"; push(@pkg::messages, "Read file ./pic_urls.txt"); } }else{push(@pkg::messages, "Couldn't read ./pic_urls.txt,\nError: $!");} } } any suggestions?