Gjorde något liknande när jag byggde en chat enbart på skoj. Om du vill prova så tryck på "Jag vill oxå registrera" nick.
http://www.webstugan.pp.nu/chat/index.html
Här kommer lite inspirationskod på hur du eventuellt skulle kunna ha en registreringsfunktion som sänder ett bekräftar-epost med namn och lösenord.
######################################
# Uppgifter att justera och förändra #
######################################
# Sökvägen till textfilen, skall förslagsvis bör ligga i samma mapp som scripten
$nick="nickname.txt";
#Sökvägen till hemsidan
$hemsida="http://www.webstugan.pp.nu/chat/index.html";
#Sökvägen till e-postprogrammet
$mailprog="/usr/sbin/sendmail -t";
#Chattansvarigs e-postadress
$avsandare="test\@test.test";
print "Content-type: text/html\n\n";
######################################
# Tar emot uppgifter från formuläret #
######################################
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$INFO{$name} = $value;
}
###########################
# Rensar olämpliga tecken #
###########################
$INFO{'nickname'}=~/[;<>\*\|´&\$!#\(\)\[\]\{\}:'"]/;
$INFO{'losen'}=~/[;<>\*\|´&\$!#\(\)\[\]\{\}:'"]/;
$INFO{'epost'}=~/[;<>\*\|´&\$!#\(\)\[\]\{\}:'"]/;
##################
# Är allt ifyllt #
##################
if($INFO{'nickname'} eq "" || $INFO{'losen'} eq ""){
print "<p><b><center><h2>Nickname eller lösenord saknas.<br>Backa med din läsare och kompletera med saknad uppgift.</B></h2></center>";
exit;
};
#############################################################################
# Kontrollerar så att inget använder ::: som skrivs in i filen mellan datat #
#############################################################################
if($INFO{'nickname'}=~/::::/i || $INFO{'losen'}=~/::::/i || $INFO{'epost'}=~/::::/i){
print "<p><b><center><h2>Någon uppgift innehåller flera \":\" .<br>Ta bort dessa tecken och försök igen.</B></h2></center>";
exit;
}
##########################################################
# Kontrollerar så att inte nickname redan är registrerat #
##########################################################
Open (FILE,"$nick");
while ($rad=<FILE> ){
if ($rad=~/$INFO{'nickname'}/gi){
print "<p><b><center><h2>Dra på trissor :-( <br>Ditt valda nickname är redan registrerat.<br>Backa med din läsare och välj ett nytt nickname.</B></h2></center>";
exit;
}
}
close (FILE);
###############################################
# Registrerar nickname och lösenord i textfil #
###############################################
open (FILE,">>$nick");
print FILE "$INFO{'nickname'}::::$INFO{'losen'}::::$INFO{'epost'}\n";
close (FILE);
print "<p><b><center><h2>$avsandare Ditt nickname har blivit registrerat.</B></h2><p><b><h3>Nickname: $INFO{'nickname'}<br>Lösenord: $INFO{'losen'}<p></h3>Dessa uppgifter är viktiga för att du skall kunna använda ditt nickname.<br>Skriv ned dessa uppgifter på en lapp, eller försök att memorera dem.<br>Om du fyllde i din e-post, så får du dessa uppgifter sända till din e-postadress.<p>Lycka till!";
###### Meddelar mottagaren om att den har ett vykort att hämta ######
##################################################################
open (MAIL, "|$mailprog");
print MAIL "To: $INFO{'epost'}\n";
print MAIL "From: $avsandare\n";
print MAIL "Subject: Ditt nickname är registrerat\n\n";
print MAIL "Hejsan $INFO{'nickname'}!\n\n";
print MAIL "Ditt nickname har blivit registrerat. \n\n";
print MAIL "Nickname: $INFO{'nickname'}\n";
print MAIL "Lösenord: $INFO{'losen'}\n\n";
print MAIL "Var rädd om dessa uppgifter och skriv gärna ned dem på en lapp.\n\n";
print MAIL "Lycka till med chattandet! $hemsida\n\n";
close (MAIL);
//Demo
------------------
Den som vandrar ödmjukhetens väg drabbas inte av trafikstockningar.
[Redigerat av demo den 03 feb 2001]