Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Perl: How to "die" with no error message?

Tags:

die

perl

I run a simple file test in perl with the code below:

my $f1 = "$pre_file";

 unless (-e $1) {

 print "\n Pre_check file does not exists! \n";

 die;

 } 

It prints the following output:

Pre_check file does not exists!
Died at ./huawei-postcheck line 81.

However I do not want the last line "Died at ./huawei-postcheck line 81.".

I want to to "die" with no error message.

Is it possible?

like image 973
Mahesh Avatar asked Oct 19 '11 11:10

Mahesh


1 Answers

See the documentation for die.

If the last element of LIST does not end in a newline, the current script line number and input line number (if any) are also printed, and a newline is supplied.

So you can get die to work without printing anything by just using die "\n". But given that you have an error message, I can't see why you don't use that.

unless (-e $f1) {
  die "\n Pre_check file does not exist!\n";
}

Of course, the difference is that the message will now go to STDERR rather than STDOUT. But that's probably the right place for it to go.

like image 199
Dave Cross Avatar answered Sep 28 '22 12:09

Dave Cross