#!/usr/bin/perl use 5.014; # 9913950mod print "\nMulti Gear Calculator\n\n"; print "\ Enter Wheelsize (inches): "; my $wheel = ; chomp $wheel; print "\n Enter nine numeric values for Chainwheel Teeth: "; # 11 13 15 17 19 21 24 28 32 my $chwhs = ; chomp $chwhs; my @chwhs = split (/\s+/, $chwhs); chomp @chwhs; print "\n Enter three numeric values for Cog Teeth: "; # 42 33 22 my $cogs = ; chomp $cogs; say "\t $cogs \n\n"; # DEMO: SEE comment in output my @cogwheels = split (/\s+/, $cogs); chomp @cogwheels; my $gear1 = $wheel * $chwhs[0]/$cogwheels[0]; my $gear2 = $wheel * $chwhs[1]/$cogwheels[0]; my $gear3 = $wheel * $chwhs[2]/$cogwheels[0]; my $gear4 = $wheel * $chwhs[3]/$cogwheels[0]; my $gear5 = $wheel * $chwhs[4]/$cogwheels[0]; my $gear6 = $wheel * $chwhs[5]/$cogwheels[0]; my $gear7 = $wheel * $chwhs[6]/$cogwheels[0]; my $gear8 = $wheel * $chwhs[7]/$cogwheels[0]; my $gear9 = $wheel * $chwhs[8]/$cogwheels[0]; my $gear10 = $wheel * $chwhs[0]/$cogwheels[1]; my $gear11 = $wheel * $chwhs[1]/$cogwheels[1]; my $gear12 = $wheel * $chwhs[2]/$cogwheels[1]; my $gear13 = $wheel * $chwhs[3]/$cogwheels[1]; my $gear14 = $wheel * $chwhs[5]/$cogwheels[1]; my $gear15 = $wheel * $chwhs[4]/$cogwheels[1]; my $gear16 = $wheel * $chwhs[5]/$cogwheels[1]; my $gear17 = $wheel * $chwhs[6]/$cogwheels[1]; my $gear18 = $wheel * $chwhs[7]/$cogwheels[1]; my $gear19 = $wheel * $chwhs[0]/$cogwheels[2]; my $gear20 = $wheel * $chwhs[1]/$cogwheels[2]; my $gear21 = $wheel * $chwhs[2]/$cogwheels[2]; my $gear22 = $wheel * $chwhs[3]/$cogwheels[2]; my $gear23 = $wheel * $chwhs[4]/$cogwheels[2]; my $gear24 = $wheel * $chwhs[5]/$cogwheels[2]; my $gear25 = $wheel * $chwhs[6]/$cogwheels[2]; my $gear26 = $wheel * $chwhs[7]/$cogwheels[2]; my $gear27 = $wheel * $chwhs[8]/$cogwheels[2]; my @gear1 = ($gear1, $gear2, $gear3, $gear4, $gear5, $gear6, $gear7, $gear8, $gear9); my @gear2 = ($gear10, $gear11, $gear12, $gear13, $gear14, $gear15, $gear16, $gear17, $gear18); my @gear3 = ($gear19, $gear20, $gear21, $gear22, $gear23, $gear24, $gear25, $gear26, $gear27); my $rounded; # re-used throughout the output funcs below print "\n Your gear ratios are: \n"; print "\n Sprocket 1: "; for (@gear1) { $rounded = sprintf("%.3f", $_); print $rounded . " | "; } print "\n Sprocket 2: "; for (@gear2) { $rounded = sprintf("%.3f", $_); print $rounded . " | "; } print "\n Sprocket 3: "; for (@gear3) { $rounded = sprintf("%.3f", $_); print $rounded . " | "; } print "\nWheelsize: $wheel \n"; print "Chainwheels: @chwhs \n"; print "Cogteeth: @cogwheels \n\n"; =head execution (annotate): C:\>991395OPmod.pl Multi Gear Calculator Enter Wheelsize (inches): 26.5 Enter nine numeric values for Chainwheel Teeth: 11 13 15 17 19 21 24 28 32 Enter three numeric values for Cog Teeth: 42 32 22 42 32 22 # Perl sees the three values from as a SINGLE, non-numeric string # that's why we need to split them, to get three numeric values Your gear ratios are: Sprocket 1: 6.940 | 8.202 | 9.464 | 10.726 | 11.988 | 13.250 | 15.143 | 17.667 | 20.190 | Sprocket 2: 9.109 | 10.766 | 12.422 | 14.078 | 17.391 | 15.734 | 17.391 | 19.875 | 23.188 | Sprocket 3: 13.250 | 15.659 | 18.068 | 20.477 | 22.886 | 25.295 | 28.909 | 33.727 | 38.545 | Wheelsize: 26.5 Chainwheels: 11 13 15 17 19 21 24 28 32 Cogteeth: 42 32 22 =cut