in reply to getting some random number for subroutine call in perl

You have both too much code and not enough code in your node.

Make a copy of your program and then Trim! Hack and slash and burn away the extraneous code. Delete all of the function calls that do not bear on the problem before posting it. When you are left with only a get_scheduled() call, you will know what additional code to inspect, trim and then show. If you do this recursively, I am sure that you will be left with just a plain old print statement somewhere in the bowels of the sub-sub-routines which you have not shown. Then you will know why and what it prints.

You had the right idea with the print statements but there are a few things you can do to improve them:

  1. Use a more descriptive print: "Getting user scenario description", rather than "hello".
  2. Recurse! Put more prints into the problem sub, and see which of its subs or lines of code are causing the problem.
  3. Make them conditional: print "Frobnicating the $foo\n" if $DEBUG;, so that you can turn them on and off when you need them again later.