diff -ur src.orig/ext/FileMagic.pm src/ext/FileMagic.pm
--- a/src/ext/FileMagic.pm	2015-09-10 18:04:14.915008340 -0700
+++ b/src/ext/FileMagic.pm	2015-09-10 18:06:08.313011035 -0700
@@ -362,7 +362,7 @@
 		foreach (keys(%{$in})) {
 			my $kvp = __flatten($_, $exclude); # key
 			next if !defined($kvp);
-			my $v = __flatten(%{$in}->{$_}, $exclude); # value
+			my $v = __flatten(%{$in}{$_}, $exclude); # value
 			$kvp .= " : ".$v     if (defined($v) && ("$v" ne ""));
 			push @out, $kvp;
 		}
@@ -418,9 +418,9 @@
 	my $case = "check";
 
 	if (ref($options) eq "HASH") {
-		$joinby = %{$options}->{joinby}        if defined(%{$options}->{joinby});
-		$wspace = lc(%{$options}->{wspace})    if defined(%{$options}->{wspace});
-		$case   = lc(%{$options}->{case})      if defined(%{$options}->{case});
+		$joinby = %{$options}{joinby}        if defined(%{$options}{joinby});
+		$wspace = lc(%{$options}{wspace})    if defined(%{$options}{wspace});
+		$case   = lc(%{$options}{case})      if defined(%{$options}{case});
 	}
 	my $merged = "";
 
diff -ur src.orig/ext/XMLhelper.pm src/ext/XMLhelper.pm
--- a/src/ext/XMLhelper.pm	2015-09-10 18:04:14.916008340 -0700
+++ b/src/ext/XMLhelper.pm	2015-09-10 18:04:47.753009121 -0700
@@ -359,7 +359,7 @@
 			print OUT " </smartplaylist>\n";
 		}
 		elsif(my $phr = get_plpref($current_plname)) { #plprefs found..
-			if (defined(@{$XDAT->{playlists}->{data}->{$current_plname}})) { #the playlist is not empty
+			if (@{$XDAT->{playlists}->{data}->{$current_plname}}) { #the playlist is not empty
 				print OUT "\n ".mkfile({playlist=>$phr}, {return=>1,noend=>1})."\n";
 				foreach(@{$XDAT->{playlists}->{data}->{$current_plname}}) {
 					print OUT "   $_\n";
