Goedendag,

Ik heb een cgi scriptje (in perl geschreven). Het betreft een blackjackscript. Hierbij krijgt een speler automatisch 100 credits en als ze op zijn weer nieuwe.. wat ik nu wil is dat scriptje op mijn database zetten.

dus die 100 credits moeten vervangen worden naar een query die
de huidige credits uit de database van die persoon haalt. En zodra de persoon inzet/wint/verliest die credits bijgeschreven worden in die database

Alleen heb ik zelf totaal geen verstand van perl dus weet ik ook niet waar ik die query moet zetten en vooral HOE ik een mysql query in perl zet.

het betreft dit stuk code:


#!/usr/bin/perl
$basedir = "..../spellen/blackjack/";
$keep_cookies_time = 900;
$cgi_url = "http://www..nl/cgi-bin/blackjack.cgi";
$image_url = "http://www..nl/spellen/blackjack/plaatjes/";
$game_title_text = "BlackJack";
$game_link_url = "http://www..nl/cgi-bin/blackjack.cgi";
$page_title_text = "P.nl";
$new_game_text = "Nieuw spel.";
$betting_text = "Inleg 5.";
$push_text = "PUSH!";
$bust_text = "Verloren!";
$player_wins_text = "Speler wint!";
$dealer_wins_text = "Dealer wint!";
$dealer_text = "Dealer";
$player_text = "Speler";
$new_game_text = "Nieuw Spel";
$hit_text = "Kaart";
$stand_text = "Pas";
$surrender_text = "Opgeven";
$show_dealer_card_text = "Show dealers kaarten";
$double_down_text = "Dubbelen";
$dealers_cards_text = "Kaarten Dealer";
$your_cards_text = "Jouw Kaarten";
$your_score_text = "Score: ";
$hit_again_text = "Nieuwe kaart? ";
$rules_text = "Regels";
$rules_left_column_text = "Blackjack betaald 2,5 x de inzet<br>
     						Opgeven betaald 0,5 x de inzet<br>
     						Dealer blackjack vs. Speler blackjack is PUSH<br>
     						Dealer moet kaarten blijven nemen indien onder de 16.<br>
     						Dealer mag na de 17 geen kaarten meer nemen.<br>
     						Je mag dubbelen bij 10 of 11.<br>
     						Na een double krijg je nog maar 1 kaart.";
$rules_right_column_text ="Je begint met 100 credits";
$entertainment_only_text ="Dit spel is mede mogelijk gemaakt door Marviins.nl.<br>
						   Verdiende credits zijn (en blijven) virtuele speelcredits en worden dus nooit uitgekeerd.<br>
						   Dit spel bestaat volledig uit virtuele bedragen en bevat dus geen waarde in echte valuta's.";

my %data = &get_data();



# If $basedir doesn't exist, or we can't create files there, then the script
# won't run. So, we'll run a check or two to make sure we can, and if not,
# we'll print an informative error message.
&no_basedir_error();

# First, let's clear out old cookie files. Otherwise, they build up
# until there are millions of them.
if($keep_cookies_time && $keep_cookies_time !~ /^forever$/ && $keep_cookies_time =~ /^\d+$/){
	opendir(DIR, "$basedir");
	@cookiefiles = readdir(DIR);
	closedir(DIR);
	foreach $ckf (@cookiefiles){
		if(-f "$basedir/$ckf" && $ckf =~ /^\d\d\d\d\d\d\d\d\d/){
			if(time - (stat("$basedir/$ckf"))[9] > $keep_cookies_time){
				unlink("$basedir/$ckf");
				}
			}
		}
	}

# We keep track of the user's cards and money and so forth by setting
# a cookie which we use to find the file where we saved their stuff
# on the server.

$cookie = $ENV{'HTTP_COOKIE'};

# I was kind of sloppy in setting the cookie when I was writing this and I
# set two different cookies, which ruined my whole day. This is just for
# those beta testers who were using it.
$cookie =~ s/Student=;//;
if($ENV{'SERVER_NAME'} =~ /linguistic-funland.com$/i ||
  $ENV{'SERVER_NAME'} =~ /tesol.net$/i){
	$entertainment_only_text .= "<br><b>**DEMO VERSION** All credits will be reset to zero
				    periodically in this demo.</b><br>";
	}
($stuff,$cookie) = split(/=/, $cookie);
if($cookie !~ /^\d+/){
  $cookieyear = (CORE::localtime(time))[5] + 1900 + 25;
  $cookie = time . $$ . $ENV{'REMOTE_ADDR'};
  print "Content-type: text/html\n";
  print "Set-Cookie: RCV=$cookie; expires=Fri, 26-Dec-$cookieyear 15:45:40 GMT;\n\n";
  }
else {
  print "Content-type: text/html\n\n";
  }

$cookie =~ s/;//;
$screenfile = "$basedir/$cookie.screentracker";
$moneyfile = "$basedir/$cookie";
$dealercardfile = "$basedir/$cookie.dealercard";
$playercardfile = "$basedir/$cookie.playercard";
$cardfile = "$basedir/$cookie.cards";

# If the money file based on their cookie doesn't exist, then we'll
# create it and give them 100  to start off with.
unless(-f $moneyfile){
 	open(F, ">$moneyfile"); print F "100"; close(F);
	}

# This is just a shortcut so I didn't have to keep typing it. :-)
$bg = " bgcolor=\"#FFFFFF\"";	

$pagetop = "<html><head><title>$page_title_text</title></head><body bgcolor=#000000>
	<center><table border=0><tr><td valign=top>
	<center>
	<a href=\"$game_link_url\"><font size=\"+1\" color=\"#00FF00\">
	<b>$game_title_text</b>
	</font>
	</a></center>
        ";

$pagebottom = <<EOF;
<center>
 <table border=1 width=550>
  <tr>
   <td bgcolor=#000000>
    <table border=0 cellpadding=5 width=\"100%\">
     <tr>
      <td bgcolor=#FFFFFF colspan=2>
       <center><b>$rules_text</b></center>
      </td>
     </tr>
     <tr>
      <td bgcolor=#00ffcc colspan=2>
       <center><b>
	$entertainment_only_text
	</b></center>
      </td>
     </tr>
     <tr><td$bg><font face=\"Arial,Helvetica,sans-serif\">
	$rules_left_column_text</td>
	<td bgcolor=#FFFFFF width=\"25%\"><font face=\"Arial,Helvetica,sans-serif\" size=\"-1\">
	$rules_right_column_text
	</font></td>
	</tr>
    </table>
   </td>
  </tr>
 </table>
 <a href=\"http://www.prijzenpoker.nl\"><font size=\"-1\" color=\"#00FF00\">Keer terug naar de startpagina van PrijzenPoker</font></a>
</center>
</td><td valign=top>&nbsp;<br>
</td></tr></table>
</body></html>
EOF

$topmsg = <<EOF;

<center>
 <table border=1 width=550>
  <tr>
   <td bgcolor=#ffffff>
    <table border=0 width=\"100%\">
     <tr>
      <td width=80% bgcolor=#ffffff>
    	<font face=\"Arial,Helvetica,sans-serif\" color=#FF0000><b>%MSG%</b><br></font>
	</td>
      <td align=right bgcolor=#000000><b><font color=\"#FFFFFF\" face=\"Arial,Helvetica\" size=\"-1\">Credits: %CREDITS%</font></b></td>
     </tr>
    </table>
   </td>
  </tr>
  <form method=\"POST\" action=\"$cgi_url\" name=\"sfeblackjack\">
 </table>
<center>

EOF

$dealertable = <<EOF;

  <table border=1 width=550>
   <tr>
    <td bgcolor=#339933 align=center>
     <table border=0 width=\"100%\">
      <tr>
	<td colspan=2 width=550 align=center bgcolor=#336633>
	 <font color=#ffcc00 face=\"Arial,Helvetica,sans-serif\" size=\"+1\"><b>$dealers_cards_text</b></font>
        </td> 
      </tr>
      <tr>
       <td align=center>
        <table border=0>
         <tr>%DEALERROW%</tr>
        </table>
       </td>
      </tr>
EOF

$playertable = <<EOF;

      <tr>
       <td colspan=2 align=center bgcolor=#336633>
        <font color=#ffcc00 face=\"Arial,Helvetica,sans-serif\" size=\"+1\"><b>$your_cards_text</b></font>
       </td> 
      </tr>
      <tr>
       <td align=center>
	<center>
        <table border=0>
         <tr>%PLAYERROW%</tr>
        </table>
	</center>
       </td>
      </tr>

EOF

# &#9824; &spades;
# &#9827; &clubs;
# &#9829; &hearts;
# &#9839; &diams;

# This is a basic deck of cards, all in order from 2 - A, clubs through
# spades.
@init_suits =  ('C','H','D','S');
@init_nums = (2,3,4,5,6,7,8,9,10,'J','Q','K','A');
foreach $suit (@init_suits){
  foreach $num (@init_nums){
    $init_cards[$i] = "$num.$suit";
    $i++;
    }
 }
# @init_cards should have all the cards in it now.

# This shuffles the deck
  srand;
  while (@init_cards){
	push(@new, splice(@init_cards, rand @init_cards, 1));
	}

# @new now has the shuffled cards, so we stick it back into the array
# @init_cards.

  @init_cards = @new;

open(F, "<$screenfile"); $last_screen = <F>; close(F);
if($last_screen eq "$stand_text"){
	open(F, ">$screenfile"); print F "Deal"; close(F);
	&deal();
	exit();
	}
if($data{'FA'} eq "$stand_text" || $data{'FA'} eq "$show_dealer_card_text"){

	# The show_dealer_card_text is only used if they have doubled down.
	# Therefore, we need to double their winnings if they win. This is
	# one place you can cheat the game to win double every time if you
	# want to. :-)
	if($data{'FA'} eq $show_dealer_card_text){
		$double = 2;
		}
	else {
		$double = 1;
		}
	open(F, ">$screenfile"); print F "$stand_text"; close(F);
	&stand();
	}
if($data{'FA'} eq "$hit_text"){
	&hit();
	}
if($data{'FA'} eq "$surrender_text"){
	&surrender();
	}
if($data{'FA'} eq "$double_down_text"){
	&double_down();
	}
else {
	&deal();
	}
exit();

sub deal {
open(F, "<$moneyfile"); chomp($money = <F>); close(F);
if($money <= 0){ 
	$money = 100; 
	open(F, ">$moneyfile");
	print F $money;
	close(F);
	}
$new_game_text =~ s/%WINNINGS%/$money/s;
	
$money -= 5;
$credits = $money;
open(M, ">$moneyfile"); print M $money; close(M);
if($data{'gameid'}){
   $gameid = $data{'gameid'};
   }
else {
   $gameid = time.$$;
  }
# Dealer cards

	$card = shift(@init_cards);
	($face,$suit) = split(/\./, $card);
	$dcards[0] = $card;
	$dcard = draw_card($card,"back");
	open(D, ">$dealercardfile"); print D "$card\n"; close(D);
	$card = shift(@init_cards);
	($face,$suit) = split(/\./, $card);
	if($card =~ /H|D/){$fontcolor = "#FF0000"; }
	if($card =~ /C|S/){$fontcolor = "#000000"; }
	$dcards[1] = $card;
	open(D, ">>$dealercardfile"); print D "$card\n"; close(D);
	$dcard2 = &draw_card($card);
foreach $c (@dcards){
	if($c =~ /^K/ || $c =~ /^Q/ || $c =~ /^J/ || $c =~ /^10/){
		$dgotten = 1;
		}
	if($c =~ /^A/){
		$dgotace = 1;
		}
	}
if($dgotten && $dgotace){
        $msg = "$new_game_text $betting_text <font color=#000000><b>Dealer Blackjack!</b></font>";
	$dcard = draw_card($dcards[0]);
	}
else {
        $msg = "$new_game_text $betting_text";
	}

# Your cards
	open(P, ">$playercardfile"); print P ""; close(P);
foreach $num (1,2){ 
	$i = $num - 1;
	$card = shift(@init_cards);
	($face,$suit) = split(/\./, $card);
	if($card =~ /H|D/){$fontcolor = "#FF0000"; }
	if($card =~ /C|S/){$fontcolor = "#000000"; }
	open(P, ">>$playercardfile"); print P "$card\n"; close(P);
	$pcard = &draw_card($card);
	$jscard = $card;
	$d1score = score($card);
	if($d1score == 11){
		$p_ace++;
		}
	$p_score += $d1score;
	$jscard =~ s/\./_/g;
	$cardrow .= "<td width=85 align=center>$pcard</td>\n";
	$pcards[$num] = $card;
	}
if($p_score == 10 || $p_score == 11){
	$double_down_button = 1;
	}
foreach $c (@pcards){
	if($c =~ /^K/ || $c =~ /^Q/ || $c =~ /^J/ || $c =~ /^10/){
		$gotten = 1;
		}
	if($c =~ /^A/){
		$gotace = 1;
		}
	}

&save_deck(@init_cards);

if($gotten && $gotace){
	$msg .= "  <font color=#000000><b>!!Player Blackjack!!</b>";
	}

if($msg =~ /Player Blackjack/ && $msg =~ /Dealer Blackjack/){
        
	$winnings = 5 * 1;
	}
elsif($msg =~ /Player Blackjack/){
	$winnings = 5 * 2.5;
	}
elsif($msg =~ /Dealer Blackjack/){
	$winnings = 0;
	}
$credits += $winnings;
open(M, ">$moneyfile"); print M $credits; close(M);

$topmsg =~ s/%MSG%/$msg/s;
$topmsg =~ s/%CREDITS%/$credits/s;
print $pagetop;
print $topmsg;
$dealertable =~ s/%DEALERROW%/<td width=85>$dcard<\/td><td width=85>$dcard2<\/td>/s;

print $dealertable; 

$playertable =~ s/%PLAYERROW%/$cardrow/s;
print $playertable;
if($double_down_button == 1){
	$ddb = "<input type=submit style=\"width: 8em\" name=FA value=\"$double_down_text\">";
	}
if($msg =~ /blackjack/is){
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 8em\" name=FA value=\"$new_game_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";
	}
else {
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 8em\" name=FA value=\"$hit_text\">
        <input type=submit style=\"width: 8em\" name=FA value=\"$stand_text\">
        $ddb
        <input type=submit style=\"width: 8em\" name=FA value=\"$surrender_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";
	}
exit();
}

sub surrender {
 open(M, "<$moneyfile"); chomp($money = <M>); close(M);
 $money += 2.5;
 open(M, ">$moneyfile"); print M $money; close(M);
 $credits = $money;
 &deal;

}

sub double_down {
 # bet another 5
 $double_down = 1;
 open(M, "<$moneyfile"); 
 chomp($money = <M>); 
 close(M);
 $money -= 5;
 open(M, ">$moneyfile"); print M $money; close(M);
 $credits = $money;
 &hit;
 }
sub hit {
# Get dealer cards and print them
# Deal dealer another card and print it
# Tally up dealer score. If dealer under 17, deal again.
# If over 21, dealer busts.
# Get player cards
open(F, "<$cardfile");
 @init_cards = split(/ /, <F>);
close(F);
open(D, "<$dealercardfile");
while(<D>){
	chomp;
	$card = $_;
	if(!$dealerrow){
	  	$dealerrow = "<td width=85>" . draw_card($card, "back") . "</td>";
		}
	else {
	  	$dealerrow .= "<td width=85>" . draw_card($card) . "</td>";
		}
	}
close(D);

open(P, "<$playercardfile");
while(<P>){
	chomp;
	$card = $_;
	if($card ne ""){
		$pcard .= "<td width=85>" . draw_card($card) . "</td>";
		$score = score($card);
		if($score == 11){
			$p_ace++;
			}
		$tscore += $score;
		}
	}
close(P);
$new_player_card = shift(@init_cards);
$cards = "$pcard<td width=85>" . draw_card($new_player_card) . "</td>";
&save_deck(@init_cards);
#print "Player draws $new_player_card.<br>";
$score = score($new_player_card);
if($score == 11){ $p_ace++; }
$tscore += $score;
#print "$tscore<br>";
if($tscore > 21 && $p_ace >= 1){ $tscore -= (10 * $p_ace); }
# print "$tscore<br>";
if($tscore > 21){ 
	$busted = 1;
	$msg = "$bust_text $tscore";
	}
else {
	open(P, ">>$playercardfile");
	print P "$new_player_card\n";
	close(P);
	$okay = 1;
	if($double_down == 1){
		$msg = "$your_score_text $tscore.";
		}
	elsif($tscore == 21){
		$msg = "$your_score_text $tscore.";
		$hit_again = 0;
		}
	else {
		$msg = "$your_score_text $tscore. $hit_again_text";
		$hit_again = 1;
		}
	}

open(M, "<$moneyfile"); chomp($money = <M>); close(M);
$credits = $money;
print "$pagetop";
$topmsg =~ s/%MSG%/$msg/s; 
$topmsg =~ s/%CREDITS%/$credits/s;
print "$topmsg";
$dealertable =~ s/%DEALERROW%/$dealerrow/s;
print "$dealertable";
$playertable =~ s/%PLAYERROW%/$cards/s;
print "$playertable";
if($busted == 1){
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$new_game_text\">
	</form></center></td></tr></table></tr></tr></table>$pagebottom";
	}
elsif($double_down == 1){
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$show_dealer_card_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";

	}
elsif($hit_again == 0){
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$stand_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";

	}
else {
	print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$hit_text\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$stand_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";
	}
exit();

}
sub stand {

# Get dealer cards and print them
# Deal dealer another card and print it
# Tally up dealer score. If dealer under 17, deal again.
# If over 21, dealer busts.
# Get player cards
open(F, "<$cardfile");
 @init_cards = split(/ /, <F>);
close(F);
open(D, "<$dealercardfile");
while(<D>){
	chomp;
	$card = $_;
	if($card ne ""){
	  	$dealerrow .= "<td width=85>" . draw_card($card) . "</td>";
		# print "Dealer has $_<br>";
		$score = score($_);
		if($score == 11){
			$d_ace = 1;	
			}
		$tscore += $score;
		}
	}
close(D);

open(P, "<$playercardfile");
while(<P>){
	chomp;
	$card = $_;
	if($card ne ""){
	  	$playerrow .= "<td width=85>" . draw_card($card) . "</td>";
		$score = score($_);
		if($score == 11){
			$p_ace++;
			}
		$pscore += $score;
		}
	}
close(P);
# Get the actual score, accounting for aces.
if($pscore > 21 && $p_ace > 0){
	for ($i = 0; $i < $p_ace; $i++){
		$pscore -= 10;
		if($pscore <= 21){
			last;
			}
		}
	}

if($tscore > 21 && $d_ace == 1){
	$tscore -= 10;
	}
if($tscore > 16){ #KPH
 	$msg = "$dealer_text: $tscore";
	}
else {
	$new_dealer_card = shift(@init_cards);
	# print "Dealer draws $new_dealer_card.<br>";
	$dealerrow .= "<td width=85>" . draw_card($new_dealer_card) . "</td>";

	$score = score($new_dealer_card);
	#print "score $score<br>";
	if($score == 11){ $d_ace = 1; }
	#print "score $score<br>";
	$tscore += $score;
	#print "score $tscore<br>";
	if($tscore > 21 && $d_ace == 1){ $tscore -= 10; }
	#print "score $tscore<br>";
	if($tscore > 21){ 
   		$msg = "$dealer_text: $bust_text $tscore";
		$tscore = 0;
		}
	elsif($tscore > 16){
 		$msg = "$dealer_text: $tscore";
		}
	else {
		$new_dealer_card = shift(@init_cards);
		#print "Dealer draws $new_dealer_card.<br>";
		$dealerrow .= "<td width=85>" . draw_card($new_dealer_card) . "</td>";
		$d_ace = 0;
		$score = score($new_dealer_card);
		if($score == 11){ $d_ace = 1; }
		$tscore += $score;
		if($tscore > 21 && $d_ace == 1){ $tscore -= 10; }
		if($tscore > 21){ 
   			$msg = "$dealer_text: $bust_text $tscore";
			$tscore = 0;
			}
		elsif($tscore > 16){
 			$msg = "$dealer_text: $tscore";
			}
		else {
			$new_dealer_card = shift(@init_cards);
			# print "Dealer draws $new_dealer_card.<br>";
			$dealerrow .= "<td width=85>" . draw_card($new_dealer_card) . "</td>";
			$d_ace = 0;
			$score = score($new_dealer_card);
			if($score == 11){ $d_ace = 1; }
			$tscore += $score;
			if($tscore > 21 && $d_ace == 1){ $tscore -= 10; }
			if($tscore > 21){ 
   				$msg = "$dealer_text: $bust_text! $tscore";
				$tscore = 0;
				}
			elsif($tscore > 16){
   				$msg = "$dealer_text: $tscore";
				}
			}
		}
	}
open(M, "<$moneyfile"); chomp($money = <M>); close(M);
$credits = $money;
print $pagetop;
$msg .= " $player_text: $pscore ";
if($tscore > 21){ $tscore = 0; }
if($pscore > 21){ $pscore = 0; }
if($tscore > $pscore){ $win = "$dealer_wins_text";}
if($pscore > $tscore){ $win = "$player_wins_text"; $winnings = ($double * 10); }
if($pscore == $tscore){ $win = "$push_text"; $winnings = ($double * 5);}
$credits += $winnings;
open(M, ">$moneyfile"); print M $credits; close(M);
$topmsg =~ s/%MSG%/$msg $win/s;
$topmsg =~ s/%CREDITS%/$credits/s;
print $topmsg;
$dealertable =~ s/%DEALERROW%/$dealerrow/s;
print $dealertable;
$playertable =~ s/%PLAYERROW%/$playerrow/s;
print $playertable;
print "<tr><td align=center><form method=\"POST\" action=\"$cgi_url\">
        <input type=submit style=\"width: 10em\" name=FA value=\"$new_game_text\">
	</form></center></td></tr></table></td></tr></table>$pagebottom";

exit();
}

sub get_data {

 use CGI;
 use CGI::Carp qw/fatalsToBrowser/;
 $CGI::POST_MAX=4096;
 $CGI::DISABLE_UPLOADS=1;
 
 my $q = new CGI;
 my ($par, %data);
 @held = $q->param('hold');
 foreach $par ($q->param()){
	if($data{$par}){
		$data{$par} .= "\0" . $q->param($par);
		}
	else {
		$data{$par} = $q->param($par);
		}
	}
 return %data; 

}
sub draw_card {

 my($pcard) = $_[0];
 my($num,$suit) = split(/\./, $pcard);
 if($suit =~ /H|D/){$fontcolor = "#FF0000"; }
 if($suit =~ /C|S/){$fontcolor = "#000000"; }
 	$suit =~ s/S/&#9824;/;	
 	$suit =~ s/C/&#9827;/;	
 	$suit =~ s/H/&#9829;/;	
 	$suit =~ s/D/&diams;/;	
 my($back) = $_[1];
 	$pcard =~ s/S/&#9824;/;	
 	$pcard =~ s/C/&#9827;/;	
 	$pcard =~ s/H/&#9829;/;	
 	$pcard =~ s/D/&diams;/;	
 if($back){
	$ur = "${image_url}upperrightb.gif";
	$lr = "${image_url}lowerrightb.gif";
	$ul = "${image_url}upperleftb.gif";
	$ll = "${image_url}lowerleftb.gif";
 	$bg = " bgcolor=\"#000000\"";	
	$mid = "<td$bg align=center width=135 style=\"border-width: 1px;border-color:#FF0000;border-style:solid\">
<font color=\"#0000FF\" style=\"font-size:37\">&#135;&#135;&#135;</font><br>
<font color=\"#0000FF\" style=\"font-size:37\">&#135;&#135;&#135;</font><br>
	 </td>";
	} 
 else {
	$ur = "${image_url}upperright.gif";
	$lr = "${image_url}lowerright.gif";
	$ul = "${image_url}upperleft.gif";
	$ll = "${image_url}lowerleft.gif";
 	$bg = " bgcolor=\"#FFFFFF\"";	
	$mid = "<td$bg align=center width=135 style=\"border-width: 1px;border-color:$fontcolor;border-style:dotted\"><font color=\"$fontcolor\" style=\"font-size:25\">$pcard</font><br>
		  <font color=\"$fontcolor\" style=\"font-size:50\">$suit</font>
	 </td>";
	} 
	$pcard = "
      <table border=0 cellspacing=0 cellpadding=0>
	<tr>
	 <td><img src=$ul></td>
	 <td$bg></td>
         <td><img src=$ur></td>
	</tr>
	<tr>
	 <td$bg></td>
	 $mid
	 <td$bg></td>
        </tr>
	<tr>
 	 <td><img src=$ll></td>
	 <td$bg></td>
	 <td><img src=$lr></td>
	</tr>
	</table>
	";
 return $pcard;
}

sub score {

 my ($card) = $_[0];
 my ($score);
 my ($c,$s) = split(/\./, $card);
 if($c eq "K" || $c eq "Q" || $c eq "J"){
	$score = 10;
	}
 elsif($c eq "A"){
	$score = 11;
	}
 else {
	$score = $c;
	}
 return $score;
}

sub save_deck {

my(@init_cards) = @_;
my ($deck);

# save the rest of the deck for drawing
while(@init_cards){
        $deck .= shift(@init_cards) . " ";
	}
open(F, ">$cardfile");
 print F $deck;
close(F);

}

sub no_basedir_error {

 unless(-d "$basedir"){
	$err = "Your base directory \$basedir does not appear to be
	        a directory, or does not exist. You have set:<br><br>
		\$basedir = \"$basedir\";
		<br><br>
		in the script, but it doesn't appear to be correct.";
        if($basedir =~ /^http:/){
		$err .= "\$basedir cannot begin with \"http://\". You
			may need to ask your web hosting provider, \"What
			is the full system path to files on my website?\".
			<br><br>";
		}
	}
 else {
	open(F, ">$basedir/sfe_blackjack_testfile.$$");
        print F "";
        close(F);
        unless(-e "$basedir/sfe_blackjack_testfile.$$"){
		$err .= "I cannot create files in your base directory
		\$basedir ($basedir). When I tried to create a file there,
		the server said \"$!\". \$basedir should be chmod 777 (on
		Unix/Linux-type systems) or otherwise set up so that the
		server can create files in that directory. Sometimes, you
		cannot chmod something to 777 if it is in your cgi-bin. If
		this is the case, try creating this directory outside your
		cgi-bin, change the path to \$basedir in the script, and
		try again.<br><br>";
		}
	else {
		unlink("$basedir/sfe_blackjack_testfile.$$");
		}
	close(F);
	}
 if($err){
	
 	$err .= "The following information may help you find the correct
		path. If not, please 
		<a href=\"http://tesol.net/scripts/scriptmail.html\">
		feel free to email me this information</a> and tell me what
		was going wrong, and I'll try to help.<br><br>";
	if($ENV{'PATH_TRANSLATED'}){
		$err .= "Path Translated: $ENV{'PATH_TRANSLATED'}<br>";
		}
	if($ENV{'DOCUMENT_ROOT'}){
		$err .= "Document Root: $ENV{'DOCUMENT_ROOT'}<br>";
		}
	if($ENV{'SCRIPT_FILENAME'}){
		$err .= "Script Filename: $ENV{'SCRIPT_FILENAME'}<br>";
		}
	if($ENV{'SERVER_SOFTWARE'}){
		$err .= "Server Software: $ENV{'SERVER_SOFTWARE'}<br>";
		}
 	print "Content-type: text/html\n\n";
	print "<b>Ooooops! CONFIGURATION ERROR!</b><br><br>$err";
	exit();
	}		

}




Ik hoop dat iemand verstand van perl heeft en me tips kan geven hoe ik dit kan implementeren.
PHP ken je wel toch? Kijk maar eens goed naar het script, PHP en Perl lijken ontzettend veel op elkaar. Dit is vrij eenvoudig om te bouwen naar PHP, en dan kan je zo de database connectie en het schrijven naar de tabel erbij maken.
Ik had al zitten kijken maar kvond het nog behoorlijk lastig eruit zien allemaal.

Reageren