in reply to calling subroutine inside loop - ERROR - subroutine executes only once
You may want something like this:chdir($corner) or die "\n $!\n";
giving you more useful information on what failed. BTW, it is better not to put "\n" after $!, because you get more information if you don't. Consider these two one-liners:chdir($corner) or die "\nCannot cd to $corner $!";
As you can see, without the "\n", you get the code line number where the exception occurred (of course, this is not very useful in a one-liner, but quite practical with larger programs).$ perl -e 'my $c = "foobar.txt"; open my $FH, "<", $c or die "cannot +open $c $!"; ' cannot open foobar.txt No such file or directory at -e line 1. $ perl -e 'my $c = "foobar.txt"; open my $FH, "<", $c or die "cannot +open $c $!\n"; ' cannot open foobar.txt No such file or directory
A small additional point is that the:
syntax for calling a function has been superseded about 20 years ago and was replaced with:&loading_tsc;
The syntax with & may still be used, but only to obtain some special effects on the function call (by-passing prototypes). You are not using prototypes here (and they would not be very useful), so rather use the regular syntax with parens.loading_tsc(); # or: loading_tsc($param1, $param2);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: calling subroutine inside loop - ERROR - subroutine executes only once
by kaushik9918 (Sexton) on Dec 30, 2014 at 07:20 UTC |