-- main::(gcd.pl:18) die sprintf "Need two integer arguments, got %d", scalar(@ARGV) unless basename is on. output set to not use terminal escape sequences set auto eval is on. set max string is 0. Eval result display style is dumper. $DB::D[0] = -- main::((eval 1955)[Eval.pm:73] remapped bogus.pl:6) gcd(1,1) -- main::(gcd.pl:9) my ($a, $b) = @_; -- main::(gcd.pl:11) ($a, $b) = ($b, $a) if ($a > $b); $DB::D[0] = 1 $DB::D[1] = 1 -- main::(gcd.pl:13) return undef if $a <= 0; -- main::(gcd.pl:14) return $a if ($a == 1) or ($b-$a == 0); $DB::D[2] = 1 Leaving nested debug level 1 -- main::(gcd.pl:18) die sprintf "Need two integer arguments, got %d", scalar(@ARGV) unless $DB::D[3] = -- main::((eval 1955)[Eval.pm:73] remapped bogus.pl:6) gcd(1,1) -- main::(gcd.pl:9) my ($a, $b) = @_; -- main::(gcd.pl:11) ($a, $b) = ($b, $a) if ($a > $b); $DB::D[3] = 1 $DB::D[4] = 1 -- main::((eval 1955)[Eval.pm:73] remapped bogus.pl:6) -- main::(gcd.pl:9) my ($a, $b) = @_; -- main::(gcd.pl:11) ($a, $b) = ($b, $a) if ($a > $b); $DB::D[5] = 2 -- main::(gcd.pl:13) return undef if $a <= 0; -- main::(gcd.pl:14) return $a if ($a == 1) or ($b-$a == 0); $DB::D[6] = 2 Leaving nested debug level 2 -- main::(gcd.pl:11) ($a, $b) = ($b, $a) if ($a > $b); -- main::(gcd.pl:13) return undef if $a <= 0; -- main::(gcd.pl:14) return $a if ($a == 1) or ($b-$a == 0); $DB::D[7] = 1 Leaving nested debug level 1 -- main::(gcd.pl:18) die sprintf "Need two integer arguments, got %d", scalar(@ARGV) unless trepan.pl: That's all, folks...