in reply to substring function

Input file: 88,100,2287432,1,0,400,2287432,52,12, ^M 16,275,2287432,0,0041880118XF,,/ ^M 88,REMARK : STANDING INSTR FROM: 323-126065 ADT FLOAT XFER CREDIT ^M 16,469,207805,0,2348128762TC,,/ ^M
I'm trying to get rid of space before ^M, where ^M is a special character (it's one byte i.e ^M is one character) I'm using following code but its not working. Any suggestion please... Thanks.
open (diff, "SAPPDAY.00063.new"); $count = 0; while () { if (/(^16|^88)/) { chomp $_; @words = split(/,/, $_); $field_cnt = $#words; # print " Field count = $field_cnt\n"; $last_length = length $words[$field_cnt]; # print " Field length= $last_length\n"; $num1 = $last_length-1; $num2 = $num - 1; # print " NUM 1 = [$num1]\n"; if ( substr($words[$field_cnt], $num1, 1) eq " " ) { $part1 = substr($words[$field_cnt], 0, $num2 ); $part2 = substr($words[$field_cnt], $last_length, 1); $words[$field_cnt] = $part1 . $part2; print "$words[$field_cnt]\n"; } exit; } }

[ar0n, super-hero by night]

Replies are listed 'Best First'.
(ar0n: get a book) RE: (2): substring function
by ar0n (Priest) on Sep 29, 2000 at 20:07 UTC
    #!/usr/bin/perl -w use strict; open FILE, "SAPPDAY.00063.new" or die "Ack! Can't open: $!\n"; while(<FILE>) { if(/^(?:16|88)/) { s/\s+\r\n$/\r\n/g; print; } } close FILE;

    Get a book.

    update
    d'oh! see Fastolfe's post.

    [ar0n]