#!/usr/bin/perl #use 5.010; use strict; use warnings; use List::MoreUtils qw(uniq); my $reS = qr{\..* \( (.*) \)}s; my $reM = qr{\..* \( \{ (.*) \} \)}s; #my $re = qr{TEXT;\s+LAYER 13[1-7];\s+TEXTTYPE 0;.*?STRING ([^;:]+)}s; open my $fh, "analog_atop_inst.v" or die $!; my @fields=(); my $i=0; { local $/ = ""; while (<$fh>) { $fields[$i] = $1 , $i++ if /$reM/; } } @fields = sort @fields; @fields = uniq (@fields); open(output_1, ">analog_atop_io".".txt") or die "can't open analog_atop_io\n"; foreach my $field (@fields){ $field .= "\n"; print output_1 $field ; #print $field ;