#!/usr/bin/perl -T use Benchmark; my $t0 = Benchmark->new; use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use utf8; use open qw/:std :utf8/; use encoding 'utf8'; use FileHandle; my $search_dir = "/media/MediaLibrary/Audio"; my $database = "/var/www/testDB.dat"; print "Content-type: text/html; charset=utf-8\n\n"; my @mp3s = &GetTheFiles( $search_dir ); my $t1 = Benchmark->new; my $td = timediff($t1, $t0); my $benchmarktime = timestr($td); print "
\n
\n".$benchmarktime; sub GetTheFiles { my @dirs = @_; my (@allfiles, @files) = (); my ($currdir, $file) = ""; while (@dirs != 0) { $currdir = pop( @dirs ); opendir( ENTRIES, "$currdir/" ); @allfiles = readdir( ENTRIES ); closedir( ENTRIES ); for $file (@allfiles) { if (-d "$currdir/$file") { push( @dirs, "$currdir/$file" ) if (($file ne ".") && ($file ne "..")); } else { my $entry = "$currdir/$file"; utf8::encode($entry); print $entry."
\n"; my $fh = FileHandle->new('>>' . $database) || die "Could not open $database - $_"; print $fh "$entry\n"; $fh->close || die "Could not close $database - $_"; } } } return 0; } # EOF