Этот конкретный вопрос, который я пробовал и не смог нигде в SO. Мой входной файл представляет собой файл сборки, который имеет всю инструкцию по сборке.удалите вкладки в определенной строке
У меня есть этот входной файл:
.src_ref 0 "call.s" 24 first
0x000000 0x5a80 0x0060 BRA.l 0x60
.src_ref 0 "call.s" 30 first
0x000002 0x1bc5 RETI
.src_ref 0 "call.s" 31 first
0x000003 0x6840 MOV R0L,R0L
.src_ref 0 "call.s" 35 first
0x000004 0x1bc5
Все, что я хочу сделать, это удалить вкладку или пробелы, когда я сталкиваюсь линии с 0x *****
До сих пор мне удалось это кода, но я не могу удалить его. Пробовал несколько вариантов и не мог заставить его работать.
Ожидаемый результат
0x000000 0x5a80 0x0060 BRA.l 0x60
0x000002 0x1bc5 RETI
0x000003 0x6840 MOV R0L,R0L
До сих пор я написал код,
my $filename = 'c:\Desktop\P4x.lst';
my $line = 0;
open(FILE,$filename) or die "Could not read from filename";
my @lines = <FILE>;
chop @lines;
foreach my $line(@lines)
{
if ($line =~/ 0x*/)
{
$line =~ s/[ ]*\|[ ]*\|[ ]*\|[ ]*\|[ ]*/|/g;
print "$line\n";
}
}
Так вот, если я сталкиваюсь строки с 0x *, то я хочу, чтобы удалить дополнительное пространство. Может кто-нибудь мне помочь. Спасибо.
Благодарим за внимание решение. Но можем ли мы это сделать с помощью Perl-скрипта :) :) – vk41286