Or more politely... :) https://gist.github.com/anonymous/2ebb0441bcdec4a94e48
On Thu, Apr 2, 2015 at 4:43 PM, Andrew Solomon <and...@geekuni.com> wrote: > Hi Anirban > > I haven't completely solved the problem - only addressing the DEV field, > but I hope this points you in the right direction! > > cheers > > Andrew > > #!/usr/bin/env perl > > use strict; > > use warnings; > > > > # NOTE This assumes the space aren't tabs and the columns are aligned > > > my $input = ' > > SCGR SC DEV DEV1 NUMDEV DCP STATE REASON > > 1 0 31 1 > > SCGR SC DEV DEV1 NUMDEV DCP STATE REASON > > 2 0 31 1 > > '; > > > my @input_lines = split /\n/, $input; > > > > foreach my $line (@input_lines) { > > next unless $line; > > my $dev = substr($line, 10, 15); > > $dev =~ s/\s*//g; > > unless ($dev) { > > $line =~ s/(..........)(.....)/$1UNDEF/; > > } > > print $line."\n"; > > > } > > On Thu, Apr 2, 2015 at 3:43 PM, Anirban Adhikary < > anirban.adhik...@gmail.com> wrote: > >> Hi List >> >> I would like to process a file which has the following structure. >> >> SCGR SC DEV DEV1 NUMDEV DCP STATE REASON >> 1 0 31 1 >> >> SCGR SC DEV DEV1 NUMDEV DCP STATE REASON >> 2 0 31 1 >> >> SCGR SC DEV DEV1 NUMDEV DCP STATE REASON >> 3 0 31 1 >> >> SCGR SC DEV DEV1 NUMDEV DCP STATE REASON >> 4 0 31 1 >> >> Condition is if any field is empty (In this case DEV and DEV1) those has >> to be replaced by the keyword "NULL". When I am trying to split the line >> based on whitespace >> @elements = split(/\s+/,$line); >> in $element[2] entire blank space is coming upto NUMDEV1. so while >> printing I am not getting the proper output. >> >> How to resolve this problem? >> >> Best Regards >> Anirban. >> > > > > -- > Andrew Solomon > > Mentor@Geekuni http://geekuni.com/ > http://www.linkedin.com/in/asolomon > -- Andrew Solomon Mentor@Geekuni http://geekuni.com/ http://www.linkedin.com/in/asolomon