在STDERR上显示错误并在Perl中退出?

时间:2015-06-08 09:44:06

标签: perl

我目前正在实现错误显示,如下所示:

#!/usr/bin/env perl
error("Something happened");

sub error {say STDERR "Error: ", shift; and exit 1}

我想知道是否存在更好的解决方案。

我不想使用die因为带回溯的输出有时对基本用户来说太过神秘。我想要一个简洁明了的信息。

实际上我也是这样做的

sub verb {say STDERR "Info: ", shift;}
sub warning {say STDERR "Warning: ", shift;}

1 个答案:

答案 0 :(得分:3)

die不输出堆栈跟踪;它只显示die所在的行,甚至可以通过换行结束消息来省略。

$ perl -e'die "foo\n"'
foo