変数に現在のサーバー時刻があり、変数に存在する値に置き換える必要がありAT=2013/07/31-10:08:41
ます。これをPerlで置き換えるにはどうすればよいですか?
get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);
変数に現在のサーバー時刻があり、変数に存在する値に置き換える必要がありAT=2013/07/31-10:08:41
ます。これをPerlで置き換えるにはどうすればよいですか?
get(J=tesr,T=Bp,Act=A_Ti,AT=2013/07/31-10:08:41);
これを文字列として(おそらく構成ファイルから)使用すると、次のように機能します。
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」をサーバー時間に置き換える必要があります。次回からは、まずスペルを確認してください。
置換演算子を使用します。この演算子の詳細については、次を参照してください::
http://perldoc.perl.org/functions/s.html
簡単な Google 検索で、この演算子に関する多くのチュートリアルをネット上で見つけることができます。
これは、別の変数 (この場合は $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";