我在变量中有当前服务器时间,我需要用我变量中存在的值替换AT=2013/07/31-10:08:41
。如何在Perl中替换它?
get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);
答案 0 :(得分:0)
答案 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";