找不到字符串终止符“str” EOF 之前的任意位置

发布于 2024-09-29 21:25:52 字数 375 浏览 5 评论 0原文

为什么我会收到此错误?

use strict;
use warnings;

my $str = <<str; 
88087   23/11/2010 
35192   25/07/2010 
B3J 5X9 17/08/2011 
C8U 5L6 16/08/2011 
F4Q 3B4 17/10/2010 
D3X 9P4 11/05/2010 
O7L 6Z8 28/02/2010 
W8L 9P2 05/09/2010 
str 

print $str;

my @arr = split/\n/,$str;
foreach (@arr) {
        my @tmp = split/\t/;
        print "$tmp[1]\n";
}

Why I get this error?

use strict;
use warnings;

my $str = <<str; 
88087   23/11/2010 
35192   25/07/2010 
B3J 5X9 17/08/2011 
C8U 5L6 16/08/2011 
F4Q 3B4 17/10/2010 
D3X 9P4 11/05/2010 
O7L 6Z8 28/02/2010 
W8L 9P2 05/09/2010 
str 

print $str;

my @arr = split/\n/,$str;
foreach (@arr) {
        my @tmp = split/\t/;
        print "$tmp[1]\n";
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

生寂 2024-10-06 21:25:52

这里不应该有空格:

str 
   ^

heredoc 终止符应该单独占一行,并且周围不应有任何东西(甚至空格)。

You should not have a space here:

str 
   ^

The heredoc terminator should be on a line by itself and should not have anything (not even space) surrounding it.

番薯 2024-10-06 21:25:52

您可以使用 diagnostics 获取有关警告消息的更详细帮助:

找不到字符串终止符“str”
EOF 之前的任意位置
(F) Perl 字符串可以跨多行。这条消息的意思是
结束分隔符被省略。因为括号里有引号
数数
嵌套级别,以下内容缺少最后的括号:

 print q(字符 '(' 开始旁注。);

<强>>如果您从此处文档中收到此错误,您可能已包含
结束标记之前或之后看不见的空白。一个好的程序员
编辑器将有办法帮助您找到这些字符。

 用户代码中未捕获的异常:

在 EOF 之前的任何地方都找不到字符串终止符“str”

You can use diagnostics to get more verbose help on warning messages:

Can't find string terminator "str"
anywhere before EOF
(F) Perl strings can stretch over multiple lines. This message means
that the closing delimiter was omitted. Because bracketed quotes
count
nesting levels, the following is missing its final parenthesis:

    print q(The character '(' starts a side comment.);

> If you're getting this error from a here-document, you may have included
unseen whitespace before or after your closing tag. A good programmer's
editor will have a way to help you find these characters.

 Uncaught exception from user code:

Can't find string terminator "str" anywhere before EOF

孤独岁月 2024-10-06 21:25:52

或者更好地使用 Eclipse Perl Integration 插件或 Padre 来编辑 Perl 代码。
它显示实时语法相关错误。

Or Better Use Eclipse Perl Integration plug-in or Padre for editing your perl code.
It shows real-time syntax related errors.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文