# File lib/puppet/provider/package/aix.rb, line 77
 77:   def self.pkglist(hash = {})
 78:     cmd = [command(:lslpp), "-qLc"]
 79: 
 80:     if name = hash[:pkgname]
 81:       cmd << name
 82:     end
 83: 
 84:     begin
 85:       list = execute(cmd).scan(/^[^#][^:]*:([^:]*):([^:]*)/).collect { |n,e|
 86:         { :name => n, :ensure => e, :provider => self.name }
 87:       }
 88:     rescue Puppet::ExecutionFailure => detail
 89:       if hash[:pkgname]
 90:         return nil
 91:       else
 92:         raise Puppet::Error, "Could not list installed Packages: #{detail}"
 93:       end
 94:     end
 95: 
 96:     if hash[:pkgname]
 97:       return list.shift
 98:     else
 99:       return list
100:     end
101:   end