in reply to Modify a txt file
In:my $data = q(0 ASDF ASEE ASEE 13 DERG DREG 28 QWER QWER 42 WERT WERT WERT 55 QWEASD QWEASD QWEASD QWEASD ); open $hndl , "<", \(my $s = $data); open $out , ">", \(my $formatted = ''); my $substitute_field; READ_FILE: while (my $line = <$hndl>) { chomp $line; ## Ignore any lines that don't contain relevant text $line =~ /\S+/ or next READ_FILE; $line =~ /^\s*(\d+)(\s+)([A-Z]+)/ and do { $substitute_field = $1; print $out $substitute_field, $2 ,$substitute_field,"\n"; next READ_FILE; }; ## If we don't have a field to substitute move on defined $substitute_field or next READ_FILE; ## Must have valid line $line =~ s/^(\s*)([A-Z]+)/$1$substitute_field/; print $out $line,"\n"; } print $formatted; close $hndl; close $out;
0 ASDF
ASEE
ASEE
13 DERG
DREG
28 QWER
QWER
42 WERT
WERT
WERT
55 QWEASD
QWEASD
QWEASD
QWEASD
out:
0 0
0
0
13 13
13
28 28
28
42 42
42
42
55 55
55
55
55
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Modify a txt file
by johngg (Canon) on Oct 20, 2011 at 22:39 UTC |