如何解决 base.pm perl 中缺少右花括号或方括号

Posted

技术标签:

【中文标题】如何解决 base.pm perl 中缺少右花括号或方括号【英文标题】:how solve this Missing right curly or square bracket in base.pm perl 【发布时间】:2012-06-18 09:28:16 【问题描述】:
use DateTime::Format::RFC3339;

my $format = DateTime::Format::RFC3339->new();
my $dt = $format->parse_datetime('1996-08-29T00:00:00.0000Z');
say $dt->strftime('%d-%b-%Y');  # 29-Aug-1996

当我运行此脚本时,我收到以下错误:

缺少右花括号或方括号 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DateTime/Locale/Base.pm 第 1 行,在行尾语法错误 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DateTime/Locale/Base.pm 第 1 行,在 EOF 处


除了base.pm是从cpan复制过来的http://cpansearch.perl.org/src/DROLSKY/DateTime-Locale-0.45/lib/DateTime/Locale/Base.pm

【问题讨论】:

我想知道copied 是什么意思?你不是刚安装 DateTime::Locale 吗? 可能是旧版本问题,请尝试更新DateTime。 【参考方案1】:

current version of DateTime 是 0.75, DateTime-Format-RFC3339 是 1.0.5。

要正确安装模块,请参阅What's the easiest way to install a missing Perl module?。

【讨论】:

【参考方案2】:

我将 DateTime 用于更复杂的内容。对于简单的解析/格式,我这样做:

use warnings;
use strict;

use Date::Parse;
use Date::Format;

my $dt = str2time('1996-08-29T00:00:00.0000Z');
print time2str('%d-%b-%Y', $dt); 

【讨论】:

@downvoter - 这家伙真的想调试 DateTime 或格式化日期吗? OP 想要的是这个问题的主题。但是仔细想想你写的内容:如果 OP 对部署它们有奇怪的想法,推荐不同的模块有什么帮助?猜猜接下来会发生什么。 – 一个好的答案应该考虑到手头的问题。

以上是关于如何解决 base.pm perl 中缺少右花括号或方括号的主要内容,如果未能解决你的问题,请参考以下文章

请问c++这个程序中总显示着else与if不匹配,请问大家错在哪里了?

mysql 安装缺少perl依赖怎么解决

SQL 语句中缺少左括号的解决方法

perl 函数的参数列表

如何克服 JavaScript 代码中缺少 Perl 的 \G 的问题?

请帮助解决“ORA-00907:缺少右括号”错误