Ganesh Shankar wrote:
> 
> Hello all,

Hello,

> I'm starting to learn perl to convert files between different
> bioinformatics programs.  I'm aware of bioperl but want to learn some
> basic perl before using those modules.
> 
> 1) The script is in the same directory as the input folder, so open
> should be able to find it.
> 
> 2) The open input folder part works because I get a I get a list of the
> files.
> 
> 3) The whole program worked on a single file, but died when I tried to
> convert it to handle a whole directory as input.
> 
> 4) I'm developing on a Windows machine, so I think setting file
> permissions are unnecessary, right?

This problem is described is explained in the documentation for the
readdir function.

perldoc -f readdir
[snip]
       If you're planning to filetest the return values
       out of a `readdir', you'd better prepend the
       directory in question.  Otherwise, because we
       didn't `chdir' there, it would have been testing
       the wrong file.


> Here's the code snippet:
> 
> use warnings;
> use strict;
> 
> my @files = ();
> my $folder = 'input';
> # Open the input folder
> unless (opendir(FOLDER, $folder)) {
>         print "Cannot open folder $folder!\n\n";
>         exit;
> }
> 
> #read the contents of the folder (files and subfolders)
> @files = readdir(FOLDER);
> 
> #Close the folder
> print "\n\n Here are the files in the folder\n";
> #print out the filenames, one per line
> print join( "\n", @files), "\n";
> closedir(FOLDER);
> 
> foreach my $seqfilename (@files){
>         [EMAIL PROTECTED] = @_;
>         $seqfilename = '';
>         open (TXTFILE,"<$seqfilename") or die $!;

    open (TXTFILE,"<$folder/$seqfilename") or die $!;


> close TXTFILE;
> 
> my @seqelements = <TXTFILE>;
> 
> ...........goes on from here
> I know the conversion routine works, because it worked
> when I specified a single file.



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to