Hi all,
I am trying to list out a bus as individual names.
For instance - When I come across a section in a file that lists a bus like this:
<busname>[0:2]
I would like to print out this:
<busname>[0]
<busname>[1]
<busname>[2]
Here is what I have - It goes into an endless loop and I can't seem to solve it.
#! /usr/intel/bin/perl -w
my $block = $ARGV[0];
my $RTL_pin = "$block.test.v";
open (RTL, "$RTL_pin") or die "could not open file $RTL_pin\n";
system ("touch newtest2");
open( NEWFILE2, "> newtest2" ) or die "Can't open file: newtest2 $!";
system (" grep -E '[input]|[ouput]|[inout]' $RTL_pin > $RTL_pin.hold");
system (" cp -p $RTL_pin.hold $RTL_pin");
while (<RTL>)
{
chomp;
s/;/ /g;
if ($_ =~ /(.*\s+)\[(\d+):(\d+)\]/)
{
$bn = $1; #busname
$h = $2; #high number
$l = $3; #low number
$i = 0;
# print NEWFILE2 "\n$l\n$h\n$bn\n";
for ($i = $l; $h; $i++)
{
print "$bn[$i]";
}
}
}
Thanks for any help.