#!/usr/bin/perl use 5.014; # modify to match your "perl -v" unless (@ARGV) { say "debugger practice; on restart, 1st arg must be a number\n"; exit; } say "Explore debugger commands w expr W expr b Ln|Event B Ln|Event (etc incl l v s n)\n"; my ($var1, $var2, $var3); my @arr = qw (a b c d e f g); sub testable { # useless uninformative comment my $subvar1 = shift; say "\t In sub testable, \$var1: $var1"; my $subvar2 = shift; say "\t AS PASSED TO SUB, \$var2: $var2"; $subvar2 *= 5; say "\t In sub testable, \$subvar2: $subvar2"; my $subvar_rand_int = int(rand($subvar2)); say "\t In sub, \$subvar_rand_int is: $subvar_rand_int."; return $subvar_rand_int; # to $result } chomp($var1 = shift); $var2 = int(3*$var1); say "Pre_sub, \$var1: $var1 and \$var2: $var2"; push my @pass_to_sub,$var1; push @pass_to_sub,$var2; my $result = testable(@pass_to_sub); say "Back from sub with \$result: $result"; # another comment for exploration of the deugger for $_(@arr) { $_ .= "_foo"; say "$_ " x $result; say "\n"; }