in reply to File Protections

If you change the permissions on the cgi program with
chmod +s my_program_name.pl
and you are the owner, which you can set with
chown my_user_name my_program_name.pl
and then you add this sort of thing to the cgi where you work with the file:
($<,$>)=($>,$<); # Swap effective and actual user ID open(FILE, ">>/tmp/myfile") or die "Can't open /tmp/myfile"; print FILE "stuff"; close(FILE); ($>,$<)=($<,$>); # Swap effective and actual user ID
it will write the file with your user id, swapping back and forth between the 'nobody' user id and your user id.

Suid programs are usually not used because of security reasons. You should learn about the perl concept of 'taint' in order to get started on learning about cgi security.

Update: fixed a few typos

It should work perfectly the first time! - toma