#!/bin/bash

INF_FILE="test.inf"

#perl -ne \
#  'next if /^#/; $p=(s/^AppName:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' < "${INF_FILE}"
#perl -ne \
#  'next if /^#/; $p=(s/^Description:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' < "${INF_FILE}"

AppName=$( perl -ne \
  'next if /^#/; $p=(s/^AppName:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Category=$( perl -ne \
  'next if /^#/; $p=(s/^Category:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Package=$( perl -ne \
  'next if /^#/; $p=(s/^Package:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

AppVersion=$( perl -ne \
  'next if /^#/; $p=(s/^AppVersion:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

PackageVersion=$( perl -ne \
  'next if /^#/; $p=(s/^PackageVersion:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Maintainer=$( perl -ne \
  'next if /^#/; $p=(s/^Maintainer:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Depends=$( perl -ne \
  'next if /^#/; $p=(s/^Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Conflicts=$( perl -ne \
  'next if /^#/; $p=(s/^Conflicts:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Breaks=$( perl -ne \
  'next if /^#/; $p=(s/^Breaks:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Replaces=$( perl -ne \
  'next if /^#/; $p=(s/^Replaces:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

Description=$( perl -ne \
  'next if /^#/; $p=(s/^Description:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' \
         < "${INF_FILE}" \
           | sed -e 's/^[[:space:]]*\(.*\)/\1/g' | sed -e 's/^\(.*\)[[:space:]]*$/\1/g' )

echo "AppName:        [${AppName}]"
echo "Category:       [${Category}]"
echo "Package:        [${Package}]"
echo "AppVersion:     [${AppVersion}]"
echo "PackageVersion: [${PackageVersion}]"
echo "Maintainer:     [${Maintainer}]"
echo "Depends:        [${Depends}]"
echo "Conflicts:      [${Conflicts}]"
echo "Breaks:         [${Breaks}]"
echo "Replaces:       [${Replaces}]"
echo "Description:    [${Description}]"
