首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让perl对每个变量重复整个句子

如何让perl对每个变量重复整个句子
EN

Stack Overflow用户
提问于 2011-07-21 17:20:54
回答 5查看 181关注 0票数 1
代码语言:javascript
复制
#! /usr/bin/perl 
@no = (1 .. 20000); 
foreach(@no) { 
print "<div id=\"world@no\" onclick=\"javascript:showDiv_postscreen(); javascript:hideDiv_welcomebuttons()\">&nbsp;</div>\n"; 
} 

这是我的perl脚本,但是如何让它每次都用一个新变量重写句子呢?

即如何将其输出

代码语言:javascript
复制
<div id="world1" onclick="javascript:showDiv_postscreen(); javascript:hideDiv_welcomebuttons()">&nbsp;</div>
.
.
.
<div id="world20000" onclick="javascript:showDiv_postscreen(); javascript:hideDiv_welcomebuttons()">&nbsp;</div>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-21 17:28:46

print语句中的@使解释器感到困惑。而且,这也不是您想要的,因为print "@no"会打印出与join(' ',@no)相同的内容。相反,您希望将@no的每个元素插入到打印输出的字符串中:

代码语言:javascript
复制
#! /usr/bin/perl 
use strict;
use warnings; #Always use these!
my @no = (1 .. 20000); 
foreach(@no) { 
print "<div id=\"world" . $_ . "\" onclick=\"javascript:showDiv_postscreen(); javascript:hideDiv_welcomebuttons()\">&nbsp;</div>\n"; 
} 
票数 0
EN

Stack Overflow用户

发布于 2011-07-21 17:34:53

您的主要问题是将整个数组插入到字符串中,而不是循环变量中(在本例中为$_,因为您没有指定一个变量,但我更喜欢给它一个名称)。

通过对字符串使用不同的分隔符,可以避免转义"

代码语言:javascript
复制
use strict;
use warnings;
for my $world_no (1..20000) {
    print qq!<div id="world$world_no" onclick="showDiv_postscreen(); hideDiv_welcomebuttons()">&nbsp;</div>\n!;
}

此外," javascript :“只在像<a href="...">这样的东西中是必需的,在这种情况下,需要url,而你想要提供javascript代码。onclick不需要它,当然两次也不需要。

票数 3
EN

Stack Overflow用户

发布于 2011-07-21 17:29:21

代码语言:javascript
复制
#!/usr/bin/perl 
my @no = (1 .. 20000); 
foreach my $i (@no) { 
    print "<div id=\"world$i\" onclick=\"javascript:showDiv_postscreen(); javascript:hideDiv_welcomebuttons()\">&nbsp;</div>\n"; 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6773882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档