in reply to Re^2: Problem reading files from directory
in thread Problem reading files from directory

First of, you should probably be using strictures (place them after the shebang line (usually #!/usr/bin/perl) separated by a blank line):

use strict; use warnings;

foreach will just iterate over a list given. Since you don't modifiy @mp3files anywhere, the contents will remain the same (i.e. untouched) in your second iteration.

Replies are listed 'Best First'.
Re^4: Problem reading files from directory
by yaneurabeya (Novice) on Jul 20, 2007 at 20:07 UTC

    Not sure what you're doing in system(2) (the wine call), but why not try the following?

    @mp3files = <$INDIR/*.mp3>; $OUTDIR = "./NEWDIR"; foreach my $FILE (@mp3files) { my $tmp= system("wine ......."); move($INFILE,"$OUTDIR/$INFILE"); if ($tmp!=0) { last; } } @mp3files = <$OUTDIR/*.mp3>; foreach my $FILE (@mp3files) { printf "File: %s\n",$FILE; }

    Also, there's no such thing as the "move" subroutine. Is it just designed like:

    sub move { system "mv $_[0] $_[1]"; # $_[1] = directory + "/" + $_[0] specifi +ed file }

    If so you can simply that by just specifying the directory for the second argument.

Re^4: Problem reading files from directory
by zoryn (Initiate) on Jul 20, 2007 at 21:05 UTC
    EDIT: Sorry, I got it, I just have to do a @mp3files = <*.mp3>; after the 1st iteration. Sorry about the newbness.