-8

変数に現在のサーバー時刻があり、変数に存在する値に置き換える必要がありAT=2013/07/31-10:08:41ます。これをPerlで置き換えるにはどうすればよいですか?

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

3 に答える 3

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」をサーバー時間に置き換える必要があります。次回からは、まずスペルを確認してください。

于 2013-07-30T13:40:30.757 に答える
0

置換演算子を使用します。この演算子の詳細については、次を参照してください::

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

簡単な Google 検索で、この演算子に関する多くのチュートリアルをネット上で見つけることができます。

于 2013-07-30T13:18:05.497 に答える
0

これは、別の変数 (この場合は $new_time ) に設定された時刻を使用して AT の値を置き換える 1 日です。

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";
于 2013-07-30T17:44:54.823 に答える