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);
In reply to Re: calling subroutine inside loop - ERROR - subroutine executes only once
by Laurent_R
in thread calling subroutine inside loop - ERROR - subroutine executes only once
by kaushik9918
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |