I have a file with the following syntax in some_1.xyz
module some_1 {
INPUT PINS
OUTPUT PINS
}
and I want to insert APPLY DELAYS xx and APPLY L
I have no idea why your code isn't working, but I have trouble following your use of Perl inside backticks inside Perl. This is untested, but should work. I suggest you also "use strict;" and "use warnings;".
my @files = ("some_1.xyz", "some_2.xyz", ... );
for my $file in ( @files )
{
my $outfile = $file + ".tmp";
open( my $ins, "<", $file ) or die("can't open " . $file . " for reading: " . $!);
open( my $outs, ">", $outfile )
or die("can't open " . $outfile . " for writing: " . $!);
while ( my $line = <$ins> )
{
print { $outs } $line;
if ( $line =~ m/^module\s+/ )
{
print { $outs } "\tAPPLY DELAY xx\n\tAPPLY LOADS ld\n";
}
}
rename( $outfile, $file );
}