#!/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{$_}
";
}
}