Ok, I'm testing to see if the tie was successful or not. The current script is below and there isn't a problem, the database is successful at that point. Any other suggestions?

#!/usr/bin/perl -w use strict; use CGI; use POSIX; my $query = CGI->new; my %form = %{$query->Vars}; require SDBM_File; my %dbm; my $dbm_file = "evs.dbm"; my $accountID = $query->url_param('accountID'); my $accountAD = $query->url_param('accountAD'); tie %dbm, 'SDBM_File', $dbm_file, O_CREAT|O_RDWR, 0644; if (!tied %dbm) { print "database unsuccessful.\n"; } use CGI qw/:standard/; print header, start_html('EVS'), start_form, "What's your email address? ",textfield('usermail'),p, submit, end_form, hr; chomp $form{"usermail"}; my $chars; my $adminmail = "admin\@test.com"; my $sendmail = "/usr/lib/sendmail"; my @chars = ( "A" .. "Z", "a" .. "z", 0 .. 9, qw(! @ $ % ^ & * ) ); my $ID; ### randomize characters do { $ID = join '', map { $chars[ rand @chars ] } 1..17; } while grep {$_ eq $ID} my @used; ### If USERMAIL exists add information to notverified DBM if ($form{'usermail'}) { my @unverified_emails=($form{'usermail'}, $ID); $dbm{'$notverified'}= join "::",@unverified_emails; #foreach my $mail (split /::/, $dbm{'notverified'}) { # print "$mail is not verified!\n"; #} print "An email has been sent to $form{'usermail'}. Please ch +eck it to verify your information.\n"; ### email the users my $accountAD = "$form{'usermail'}"; my $accountID = $ID; open (MAIL, "|$sendmail -t") or die "Cannot access mail"; print MAIL "To: $form{'usermail'}\n"; print MAIL "From: $adminmail\n"; print MAIL "Subject: Verify your Email Address\n\n"; print MAIL "http://sulfericacid.perlmonk.org/evs/evs.pl?accountID=$a +ccountID&accountAD=$accountAD\n"; close (MAIL); } ### If url_param() exists if ($accountID && $accountAD) { &params; } ### If url_param() exists check to see if it exists in DBM sub params { if ($accountID && ($accountAD ne '') && (exists $dbm{'$notverified'})) + { $dbm{'$verified'} = $accountAD; print "Your address has been indexed!\n"; ### test database prints foreach (sort keys(%dbm)) { print "$_ => $dbm{$_}\n"; } } else { print "Your email address and registration did not match. Please ch +eck your email again.\n"; } }


"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"

sulfericacid

In reply to Re: Database still overwriting itself by sulfericacid
in thread Database still overwriting itself by sulfericacid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.