in reply to Reference found where even-sized list expected

As documented in MP3::Info , the functions get_mp3info and get_mp3tag don't return hashes, but hash references. Either store them in scalars, or dereference them to store them in hashes:
my $info = get_mp3info($file); for my $key (keys %$info) {
or
my %info = %{ get_mp3info($file) }; for my $key (keys %info) {
($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

Replies are listed 'Best First'.
Re^2: Reference found where even-sized list expected
by haukex (Archbishop) on Sep 26, 2017 at 11:46 UTC

    Or, as of Perl v5.22, the experimental "refaliasing" feature can be used, allowing one to access %info as if it were a regular hash, without having to make a copy of it:

    use experimental 'refaliasing'; \my %info = get_mp3info($file); for my $key (keys %info) { print "$key / $info{$key}\n"; }
Re^2: Reference found where even-sized list expected
by sciguy (Novice) on Sep 27, 2017 at 09:01 UTC
    Looks like an oversight then. I fixed all the hashes and made them pointers ($), and de-referenced them (%$) where appropriate. Now everything works. Thanks for your help.