Perl - 以常量退出

时间:2013-02-20 14:59:15

标签: perl

#!/usr/bin/perl

use strict "vars";
use warnings;
use feature qw(switch);

use locale;
use POSIX qw(locale_h);
setlocale(LC_ALL, "cs_CZ.UTF-8");

use constant (
    ERROR_OK => 0,
    ERROR_CMD => 1,
    ERROR_INPUT => 2,
    ERROR_OUTPUT => 3,
    ERROR_INPUT_FORMAT => 4
);

exit ERROR_OUTPUT;

我仍然收到错误“Argument”ERROR_OUTPUT“在退出时不是数字......” 如何使用常量来表示退出值而不是直接使用数字?

2 个答案:

答案 0 :(得分:12)

use constant后的括号更改为curlies。

use constant {
    ERROR_OK => 0,
    # etc.
};

答案 1 :(得分:4)

use constant指令应使用{花括号},而不是(括号)

use constant {
    ERROR_OK => 0,
    ERROR_CMD => 1,
    ERROR_INPUT => 2,
    ERROR_OUTPUT => 3,
    ERROR_INPUT_FORMAT => 4
};