#!/usr/bin/perl -w use strict; use diagnostics; use CGI qw(:standard); use POSIX; require SDBM_File; my $location = "stored.dbm"; my %stored; my @chars = ("a".."z","A".."Z"); my $chars; my $ID; my $uid = "1220"; my $gid = "1220"; chomp( my $user = param('user') ); chomp( my $pass = param('pass') ); tie %stored, 'SDBM_File', $location, O_CREAT | O_RDWR, 0644; print header, start_html('Log In'); print start_form(), table( Tr( td("Username"), ), Tr( td( textfield( -name => 'user', -size => 20 ), ) ), Tr( td("Password"), ), Tr( td( textfield( -name => 'pass', -size => 20 ), ) ) ), Tr( td(submit), ), end_form(); if ( param() ) { if (exists $stored{$user}) { print "User name already in use, please try another"; exit; } if (($pass) && ($user)) { $ID = join '', map { $chars[ rand @chars ] } 1..10; } my @combine = ($pass, $ID); $stored{$user} = join "::", @combine; print "random id was $ID
"; my $dir = $ENV{'DOCUMENT_ROOT'} . "/new/" . $ID; mkdir($dir, 0755); chown $uid, $gid, $dir; print "folder $dir was created"; print "
"; print "Test printing
"; foreach (sort keys(%stored)) { print "$_ => $stored{$_}
"; } }