小编Sin*_*nür的帖子

如何在Perl中创建XML模板?

我需要创建的XML文件就像

<file>
     <state>$state</state>
     <timestamp>$time</timestamp>
     <location>$location</location>
          ....
</file>
Run Code Online (Sandbox Code Playgroud)

我不想使用多个print来创建所需的XML文件,我期望的是有一个模板,它定义了XML的结构和格式.

然后在创建XML文件时,我只需要为模板中的变量提供实际值,并将指定的模板写入新创建的文件一次,只需一次.

xml perl templates

2
推荐指数
2
解决办法
1763
查看次数

如何将函数传递给Perl子?

我怎么写一个接受像map函数那样的函数呢?

例:

$func = sub { print $_[0], "hi\n" };
&something($f);
sub something
{
    my $func = shift;
    for ($i = 0; $i < 5; $i++)
    {    $func->($i);    }
}
Run Code Online (Sandbox Code Playgroud)

工作良好.

但是如果我这样做的话

&something( { print $_[0], "hi\n" } );
Run Code Online (Sandbox Code Playgroud)

它不会工作,并说func是一个未定义的引用.

所以我的问题是如何编写一个接受perls map函数等参数的函数?

map { s/a/b/g } @somelist;
Run Code Online (Sandbox Code Playgroud)

perl function

2
推荐指数
2
解决办法
346
查看次数

Subversion,5个开发人员的小团队的最佳实践?

我们通过Assembla与CI Team City建立了svn.我理解源代码控制,我的团队是新手吗?我们该如何开展工作?现在我们的环境没有按照应有的方式组织.我也试图让Trac为我们的团队工作.我们应该怎样做每个人在那里工作?完成后将更改合并到主干?或者允许他们在Trunk上工作,希望Teamcity会抓到坏东西?

svn teamcity

2
推荐指数
1
解决办法
1264
查看次数

在Perl中,如何将此CSV字符串中的字段放入没有空格的数组中?

如果我有一个字符串,请说:

my $string = "A, B,C, D , E ";
Run Code Online (Sandbox Code Playgroud)

如何在没有前导和尾随空格的情况下将它放入Perl中的数组中?所以我想要的只是每个数组元素中只有一个字母.我目前做的是这样的:

my @groups = split /,\s*/, $string;
Run Code Online (Sandbox Code Playgroud)

但这显然是不够的,因为尾随空间仍然存在.任何帮助赞赏.非常感谢 !!

csv arrays perl split spaces

2
推荐指数
2
解决办法
1385
查看次数

如何在Perl中使用套接字?有模块吗?

如何在Perl中进行套接字编程?它有什么模块吗?

我正在尝试在Perl中进行套接字编程.我想知道是否有任何模块可以做到这一点.

还有一个问题:是否有可能让多个服务器监听一个端口,或者多个客户端通过套接字编程监听一个端口?

sockets perl

2
推荐指数
1
解决办法
582
查看次数

Perl:将模式从当前位置替换为一行

Perl中,如何将模式从当前位置(最后一次替换的位置)替换为一行?

我在一行中完成了所有这些替换:

...
s/\[//;
s/(\/\w\w\w\/)/ getMonth $1 /e;
s/:/ /;
s/\s\+\d\d\d\d\]//;
#NOW: replace all blanks with a plus sign from this position until the end of this line.
Run Code Online (Sandbox Code Playgroud)

regex perl replace

2
推荐指数
1
解决办法
2305
查看次数

为什么我的方法打印"isObjectName = SCALAR(0x1289df0)"?

使用Perl的OOP新手,只是有一个简单的问题.我在课堂上有这个功能:

sub Print{
    my $text = shift;
    print "my text is", $text;
}
Run Code Online (Sandbox Code Playgroud)

我尝试通过这样做来打印文本:

my $object = ObjectName->new();
$object->Print("Print this text")
Run Code Online (Sandbox Code Playgroud)

它打印这个:

my text isObjectName=SCALAR(0x1289df0)

我的问题是,它为什么要这样做,我怎样才能简单地打印我作为参数传递的文本?

oop perl

2
推荐指数
3
解决办法
147
查看次数

使用Perl的Template.pm,我如何从数组中选择一个随机元素并输出它?

假设我的模板中有以下内容:

[%- pages = [ 'one', 'two', 'three' ] -%]

<p>Go to page [%- ... -%]</p>
Run Code Online (Sandbox Code Playgroud)

假设EVAL_PERL成立(即我不能使用[%- PERL -%]块),我需要什么把里面[%- ... -%]的上方,从而得到下面的输出?

<p>Go to page "a randomly picked element of pages"</p>
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit

2
推荐指数
1
解决办法
767
查看次数

在Perl中,如何使用出现在第一个冒号(:)之前的数字对记录进行排序?

我在Perl中有以下数据序列:

143:0.0209090909090909 
270:0.0909090909090909 
32:0.0779090909090909 
326:0.3009090909090909
Run Code Online (Sandbox Code Playgroud)

请问,我怎样才能根据冒号前的数字对它们进行排序,以此作为输出?

32:0.0779090909090909
143:0.0209090909090909
270:0.0909090909090909  
326:0.3009090909090909
Run Code Online (Sandbox Code Playgroud)

sorting perl records

2
推荐指数
1
解决办法
179
查看次数

在Perl中,如何从双引号中除去字符串中的空格,并用||替换这些引号?

我试图找到一种方法用管道(||)替换空格和双引号,同时保持双引号内的空格不变.

例如,它会将"word"字词"word"改为"word || word word || word",将"word word word"改为"word || word || word".

现在我有这个工作:

[%- MACRO typestrip(value) PERL -%]
my $htmlVal = $stash->get('value');
$htmlVal =~ s/"/||/g;
print $htmlVal
[%- END -%]
Run Code Online (Sandbox Code Playgroud)

哪个处理用管道替换双引号就好了.

我不知道这应该是多么简单或复杂,或者甚至可以做到,因为我没有编程的实际背景,虽然我曾经使用过一些Perl,但它以前从来没有这样,所以我道歉如果我我没有很好地解释这一点.

regex perl

2
推荐指数
1
解决办法
1243
查看次数

标签 统计

perl ×9

regex ×2

arrays ×1

csv ×1

function ×1

oop ×1

records ×1

replace ×1

sockets ×1

sorting ×1

spaces ×1

split ×1

svn ×1

teamcity ×1

template-toolkit ×1

templates ×1

xml ×1