-my $df= "$rsyncdir/master-info.txt";
-system('cp','--','master-info.txt',"$df.tmp"); die $? if $?;
-system('mv','--',"$df.tmp",$df); die $? if $?
+
+my $sfn= 'source-info.txt';
+my $dfn= "$rsyncdir/master-info.txt";
+
+my $sf= new IO::File $sfn or die "$sfn $!";
+my $df= new IO::File "$dfn.tmp", 'w' or die "$dfn.tmp $!";
+
+my $h;
+while (<$sf>) {
+ chomp; s/\s+$//;
+ next if m/^\s*\#/ || !m/\S/;
+ if (m/^\S.*/) {
+ $h= $&;
+ }
+ die "$_ ?" unless defined $h;
+ if ($h =~ m/^commods|^\%[a-z]\b/) {
+ s/\t.*//;
+ }
+ print $df $_, "\n" or die $!;
+}
+
+$sf->error and die $!;
+close $df or die $!;
+rename "$dfn.tmp", "$dfn" or die $!;