私は Perl の完全な新人です。私がやろうとしているのは、ファイルのリストを開き、各ファイルで 3 つの異なる変数をインクリメントし、ファイルを保存して閉じることです。
変数は次のようになります
This_Is_My_Variable03
This_Is_My_Variable02
This_Is_My_Variable01
01 で終わる変数がファイル内に複数回あります。変数は文字列の一部である場合があります。変数のThis_Is_My_Variable
部分は決して変化しません。
ありがとう。
これは最善の解決策ではないかもしれませんが、うまくいきます
#!perl=C:\IBM\RationalSDLC\ClearCase\bin\perl
use warnings;
use strict;
use Tie::File;
tie my @data, 'Tie::File', 'myfile.txt' or die $!;
s/(This_Is_My_Variable)(\d+)+/$1.++($_=$2)/eg for @data;
untie @data;
私を始めてくれたボロディンに感謝しますTie::File
:それは間違いなく役に立ちました。
while ループを使用した 2 番目のソリューション
#!perl=C:\IBM\RationalSDLC\ClearCase\bin\perl
use warnings;
#use strict;
sub inc {
my ($num) = @_;
++$num;
}
open(FILE, "myfile.txt") || die $!;
$i = 0;
while (<FILE>) {
$string = $_;
if (/This_Is_My_Variable../) {
$string =~ s/(This_Is_My_Variable)(\d+)+/$1.++($_=$2)/eg;
print "$string \n";
$i++;
}
else {
print "$string \n";
}
}
close FILE;