"The most effective debugging tool is still careful thought, coupled with judiciously placed print statements."
Brian Kernighan, "Unix for Beginners" (1979)
Still true in 2015.
sub tryagain5 {
my ($messagetouser) = @_;
my $ans = callandresponse($messagetouser);
my $count=1;
# DEBUG
print "ans is <<$ans>>\n";
print "count is <<$count>>\n";
while ($count < 5 and $ans =~ /^\s*\n/) {
$count++;
$ans = callandresponse ($messagetouser);
}
if ($ans =~ /^\s*\n/) {
return 0;
}
else {
return $ans;
}
}
You should learn how to indent your programs properly: use perltidy. Bad indentation (like yours) is a serious hindrance to careful thought.