Each $issue returned by $jira->next_issue is a blessed object with its own methods for getting and setting information. The JIRA::Client documentation doesn't have a lot of detail, and the source isn't much better. Try:
while (my $issue = $jira->next_issue()) {
#print Dumper($issue);
my $custom_fields_ref = $issue->get_custom_fields();
for my $cf_name (keys %{$custom_fields_ref}) {
print ">>$cf_name<< = >>>$custom_fields_ref->{$cf_name}<<<\n";
}
print 'Priority: ', $issue->priority, $/;
# do as above for other fields at the same level as 'priority' => 2
}