Hi Members, 1) The script below produce the following warnings:- "variable $betting_system will not stay shared at roulette.pl line 61." What is the problem and how do I rectify this problem.
2) How do I shorten/improve this script. Thanks ##### start of script ################# use strict; use warnings; use Algorithm::Numerical::Shuffle qw /shuffle/; #variable variables my $number_of_games = 5000; my $originalcapital = 1000; my $capital = 1000; my $stake = 1; #initialisation my @number = (); my $roulette_dealer_number = ""; my $sub_different_playing_styles_wincounter = 0; my $sub_different_playing_styles_losscounter = 0; # dealers number rolled for ( $a = 0 ; $a < $number_of_games ; $a++ ) { my $switch1 = 0; ($roulette_dealer_number) = shuffle( 0 .. 36 ); # dealers number @number = shuffle( 0 .. 36 ); #players numbers &different_playing_styles(); } toprint(); ##################################################### # sub routines ###################################################### sub different_playing_styles { # bet 1 number my $bet_location = 37; my $betting_system = 18; #bet 2 numbers my $counter = 0; my $bet_amount_per_number = 2; my $switch = 0; my $wincounter = 0; foreach (@number) { if (/^$roulette_dealer_number$/) { $sub_different_playing_styles_wincounter++; $capital = ($capital + 36 - $betting_system ) * $bet_amount_per_number; $switch = 1; last; } $counter++; last if ( $counter == $betting_system ); } if ( $switch == 0 ) { $sub_different_playing_styles_losscounter++; $capital = ($capital - $betting_system) * $bet_amount_per_number; } sub toprint { print "Summary\n"; print "Betting system = Bet $betting_system numbers at ", "\$$bet_amount_per_number per number.\n"; print "Total games dealt = $number_of_games games.\n"; print "Total : Win = $sub_different_playing_styles_wincounter times = \$", ( 36 - $betting_system ) * $bet_amount_per_number * $sub_different_playing_styles_wincounter, "\n Lose = $sub_different_playing_styles_losscounter times = \$", $betting_system * $bet_amount_per_number * $sub_different_playing_styles_losscounter, "\n"; if ( $capital > $originalcapital ) { print "You win \$", ( $capital - $originalcapital ), "\n"; } else { print "You lost \$", ( $originalcapital - $capital ), "\n"; } print '*' x 50, "\n"; } # end sub toprint }