【发布时间】:2013-07-07 01:30:15
【问题描述】:
我正在做一个包含短语的每个单词的数组。当我尝试拆分它并打印长度时,控制台会给我一个巨大的数字,例如111039391231319239188238139123919232913123...(更多行)
为什么?
这是我的代码:
$mynames = $texto3;
print $mynames. "\n";
@nameList = split(' ', $texto3);
#print @nameList.length();
for ($to = 0; $to<@nameList.length; $to++){
if($to<@nameList.length) {
@nameList[$to] = @nameList[$to] . "_" . @nameList[$to++];
}
print $to;
#print @nameList[$to] . "\n";
}
$string_level2 = join(' ', @nameList);
#print $string_level2;
【问题讨论】:
-
您的
for循环似乎有错误。我相信您的意思是使用<而不是> -
这是什么语言?对我来说看起来不太像 Perl。为什么你期望
split( ' ' ...工作?谁让你知道@nameList.length是有效的语法?是的,Perl 很灵活,但它无法读懂你的想法,你也不能只是随手编造语法并期望它能够工作。 -
可能是 Perl 6,有点... :-)
-
尝试:
print "$to ";并使用空格字符而不是匹配进行拆分,执行awk拆分。见perldoc.perl.org/functions/split.html 和@nameList.length有效;这意味着字符串将@nameList中的项目数连接到字符串$_的长度。 -
没有人告诉过您将
use strict和use warnings添加到所有Perl 程序的顶部吗?
标签: arrays perl split variable-length-array