if($line =~/([^\s]+)\s+(DC|DS|EQU)\s+(A|X|C|H|F|D|0X|0D|0C)+(L)*([^\'\(\s]+)*(\'(.+)\')*\s*/i) { ($line,my $description) = ($line=~/^(.{40})(.*)\s+$/); # do the actual $line modification only there $line =~ tr/\(\)/''/g; push(@Var_File_Array,$1.",".$3.",".$5.",".$7.",".$description."\n"); } elsif (!($line=~/^\s*\*|^\s*$/)) { push(@Tgt_File_Array,$line); if ($line =~ s/\s+EQU\s+\*.*$/i) { pop @Tgt_File_Array; push(@Tgt_File_Array,$line."\n"); length $line > 0 && push @Tgt_File_Array,(join " ",(split ' ',$line)[0,1]); } }