如何在perl中访问和替换?

时间:2013-07-30 13:09:35

标签: perl

我在变量中有当前服务器时间,我需要用我变量中存在的值替换AT=2013/07/31-10:08:41。如何在Perl中替换它?

get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);

3 个答案:

答案 0 :(得分:0)

使用替换运算符,有关此运算符的更多信息,请参阅::

http://perldoc.perl.org/functions/s.html

您可以通过简单的谷歌搜索在网上找到许多有关此运营商的教程。

答案 1 :(得分:0)

如果您将其作为字符串(可能来自配置文件),则可以使用:

use warnings;
use strict;

my $string = 'get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);';
$string =~ /AT=(.+)\);/;
my $new_time = 'new_time';
$string =~ s/$1/$new_time/;
print $string;

当然,您必须将'new_time'替换为您的服务器时间。下次请先检查你的拼写。

答案 2 :(得分:0)

有一天使用另一个变量设置的时间替换AT的值(在这种情况下为$ new_time)

my $str = "get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);";

my $new_time = "2013/08/01-02:05:24";

$str =~ s/(AT=)(\d{4}\/(0[1-9]|1[0-2])\/([0-2][1-9]|3[0-1])-([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])/$1$new_time/g;

print "$str\n";