#!/usr/bin/perl use warnings; use strict; my $is_first_block = 1; my $parameter; while (<>) { if (/^ \s* " ( [^"]+ ) " \)/x) { $parameter = $1; print "\n" unless $is_first_block; undef $is_first_block; } elsif (/;;/) { undef $parameter; } if (defined $parameter && /(\w+=.*)/) { my $var = $1; print "$parameter\t$var\n"; } }