# Set $file to the rpm you're querying, then: my @result = `rpm -qp --queryformat "%{NAME}/%{ARCH}/%{VERSION}.%{RELEASE}\n" $file`; my ($name, $arch, $version) = split /\//, $result[0];