sub dispatch_closing { my ( $line, $fh, $HR_record ) = @_; return unless $line =~ /((?:SERVICE|WEB)_APPLICATION_EXECUTION_COMPONENT)|(UNX|WNT)/; my $sep = q{>}; my $env = 'ENVIRONMENT_VARIABLE'; my $res = 'RESOURCE'; if ( defined $1 ) { $sep = ( $1 =~ /SERVICE/ ) ? q{>} : q{}; printf( $fh, "\t%s Id=\"%s\"%c%s%s%c\n", , $env, $_, $sep, $HR_record->{$_}, $env ) for keys %$HR_record; } else { $sep = ( $2 =~ /UNX/ ) ? q{>} : q{}; printf( $fh, "\t%s Id=\"%s\" Source= %s %s%c}\n", $res, $_, substitute( $HR_record->{$_} ), $res, $sep ) for keys %$HR_record; } }