我真的不知道该怎么做,我尝试了很多方法,但我不知道为什么都不行,这里是我尝试过的示例...
{
open my $fh1, '<', 'hex1.txt';
open my $fh2, '<', 'hex2.txt';
until ( eof $fh1 or eof $fh2 ) {
my @l1 = map hex, split //, <$fh1>;
my @l2 = map hex, split //, <$fh2>;
my $n = @l2 > @l1 ? @l2 : @l1;
my @sum = map {
no warnings 'uninitialized';
$l1[$_] + $l2[$_];
} 0 .. $n - 1;
@sum = map { sprintf '%X', $_ } @sum;
open my $out, '>', 'hexsum.txt';
print {$out} @sum, "\n";
}
close $fh1;
close $fh2;
}
{
open my $IN, "<", 'hexsum.txt';
open my $OUT, ">", 'sym.txt';
while ( my $linie = <$IN> ) {
$linie =~ s/40/20/g;
print $OUT $linie;
}
close $IN;
close $OUT;
}
{
my $input = do {
open my $in, '<', 'hexsumspace.txt';
local $/;
<$in>;
};
open my $out, '>', 'sym.txt';
print $out pack 'H*', $input;
}
我想在所有我发现值40和值20都改变的地方...
最佳答案
use strict;
use warnings;
open my $OUT, ">", 'output.txt';
open my $IN, "<", 'input.txt';
while (my $line = <$IN>) {
$line =~ s/40/20/g;
print $OUT $line;
}
close $IN;
close $OUT;
关于perl - 在Perl中查找并替换文本文件中的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34599455/