Use \. in extension regexes
[app-musicexpo.git] / lib / App / MusicExpo.pm
index 9927bfc0b9dbff7507e84c93659fe1e69022a94e..7b5f4e2f46d7ba70d0bcb3b7852f03d1b81afb9c 100644 (file)
@@ -3,7 +3,7 @@ use v5.14;
 use strict;
 use warnings;
 
-our $VERSION = 0.003001;
+our $VERSION = '0.003003';
 
 use Audio::FLAC::Header qw//;
 use HTML::Template::Compiled qw//;
@@ -15,7 +15,7 @@ use DB_File qw//;
 use File::Basename qw/fileparse/;
 use Fcntl qw/O_RDWR O_CREAT/;
 use Getopt::Long;
-use JSON;
+use JSON::MaybeXS;
 use Storable qw/thaw freeze/;
 
 ##################################################
@@ -98,17 +98,17 @@ sub normalizer{
 }
 
 sub run {
-       tie my %cache, 'DB_File', $cache, O_RDWR|O_CREAT, 0644 unless $cache eq '';
-       memoize 'flacinfo', NORMALIZER => \&normalizer, LIST_CACHE => 'MERGE', SCALAR_CACHE => [HASH => \%cache] unless $cache eq '';
-       memoize 'mp3info' , NORMALIZER => \&normalizer, LIST_CACHE => 'MERGE', SCALAR_CACHE => [HASH => \%cache] unless $cache eq '';
-       memoize 'vorbisinfo' , NORMALIZER => \&normalizer, LIST_CACHE => 'MERGE', SCALAR_CACHE => [HASH => \%cache] unless $cache eq '';
+       if ($cache) {
+               tie my %cache, 'DB_File', $cache, O_RDWR|O_CREAT, 0644;
+               memoize $_, NORMALIZER => \&normalizer, LIST_CACHE => 'MERGE', SCALAR_CACHE => [HASH => \%cache] for qw/flacinfo mp3info vorbisinfo/;
+       }
 
        my %files;
        for my $file (@ARGV) {
                my $info;
-               $info = thaw flacinfo $file if $file =~ /.flac$/i;
-               $info = thaw mp3info $file if $file =~ /.mp3$/i;
-               $info = thaw vorbisinfo $file if $file =~ /.og(?:g|a)$/i;
+               $info = thaw flacinfo $file if $file =~ /\.flac$/i;
+               $info = thaw mp3info $file if $file =~ /\.mp3$/i;
+               $info = thaw vorbisinfo $file if $file =~ /\.og(?:g|a)$/i;
                next unless defined $info;
                my $basename = fileparse $file, '.flac', '.mp3', '.ogg', '.oga';
                $files{$basename} //= [];
@@ -129,7 +129,7 @@ sub run {
                push @files, \%entry
        }
 
-       my $json = JSON->new->utf8->canonical->encode({files => \@files, prefix => $prefix});
+       my $json = JSON::MaybeXS->new(canonical => 1)->encode({files => \@files, prefix => $prefix});
        $json =~ s/</&lt;/g;
        $json =~ s/>/&gt;/g;
        $ht->param(files=>[sort { $a->{title} cmp $b->{title} } @files], prefix => $prefix, json => $json);
This page took 0.010516 seconds and 4 git commands to generate.