Ok, please don't laugh. This is my very first shot at Perl and if I
learn something, I'll be putting it to use for more important tasks.
Thanks in advance for any comments.
------------------------------------------------------------
#!/usr/bin/perl
# A dorkey little perl script using File::Find. The idea is to recurse
# subdirectories and write an .ASX file (sequenced playlist of file
# names) to each subdirectory for the files located there.
# Aside from the slight "This doesn't work as expected" problem ...
# the following I haven't yet figured out:
#
# 1. The 'outfile.asx' needs to take its name from the current directory
# name and not be arbitrarily set to some predefined name
# (outfile.asx in this case). Maybe munge the fully qualified path
# somehow, or go back to READDIR? <g>
#
# 2. How does one set the top directory for File::Find to the directory
# in which the script is run?
use strict;
use warnings;
use File::Find;
find ( {
wanted => \&wanted,
preprocess => \&preprocess,
}, @ARGV);
sub wanted {
if (-f _) { # check for avi, mpg, mpeg, divx, etc.?
open( OUTFILE, ">>$File::Find::dir/outfile.asx" )
or die( "Cannot open $File::Find::dir/" ."outfile.asx: $!" );
print( OUTFILE "<Entry>\n" );
print( OUTFILE " <Ref href = \"$File::Find::name\"\n" );
print( OUTFILE "<Entry> \n\n" );
close( OUTFILE )
or die( "Cannot close $File::Find::dir/" . "outfile.asx: $!" );
}
}
sub preprocess {
print "Processing directory $File::Find::dir ...\n";
open( OUTFILE, ">$File::Find::dir/outfile.asx" )
or die( "Cannot open $File::Find::dir/" . "outfile.asx: $!" );
print( OUTFILE "<Asx Version = \"3.0\">\n" );
print( OUTFILE "<Title></Title>\n" );
print( OUTFILE "<Abstract></Abstract>\n" );
print( OUTFILE "<Copyright></Copyright>\n" );
print( OUTFILE "<Author></Author>\n\n" );
close( OUTFILE )
or die( "Cannot close $File::Find::dir/" . "outfile.asx: $!" );
sort { uc $a cmp lc $b } @_;
}
------------------------------------------------------------
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>