> 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;
^^^^^^^^^^^^^^^
Excellent!! Bravo! :)
If I can I'll look at your questions in a bit.

> 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>



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to