in reply to Re: read copy and moving files
in thread read copy and moving files

I keep getting 500 Server errors. Premature end of script headers
#!/usr/local/bin/perl use strict; use diagnostics; my $DIR_A = "/u/web/smpsvc/bulletin"; my $DIR_B = "/u/web/smpsvc/espanol/bulletin"; opendir DIR, "$DIR_A"; while(defined(my $item = readdir DIR)){ open FILE,"$DIR_A/$item" or warn "$!", next; open COPY,"COPIES/$item" or warn "$!", next; while (read FILE,my $buffer,4096){ print COPY $buffer; } close FILE; close COPY; exec("mv","$DIR_A/$item","$DIR_B/$item"); # performes an mv comman +d like on the command line } closedir DIR;

Replies are listed 'Best First'.
Re: Re: Re: read copy and moving files
by nothingmuch (Priest) on Oct 16, 2002 at 22:12 UTC
    If you're using it via CGI you'll probably want to use CGI and print HTTP headers using CGI. I think that's your problem.
    use CGI; print CGI->new->header;


    At the top should suffice.
    perldiag points to several sources, stating that this is a CGI error.
    As this is an alien error, use diagnostics could have not explained forther.
    see perldoc perldiag, and search it for "Server error" for more details.

    P.S. You should really use File::Copy, as it's a simpler interface, and platform independant (at least externally, i dunno about it's guts). The code I gave was just to show you how it can be done manually.

    -nuffin
    zz zZ Z Z #!perl
      On a windows 2000 machine you could do it this way.
      #!/usr/bin/perl -w use strict; my $dir = "C:\\TEMP\\"; my $outdir = "C:\\temp2\\"; opendir (DIR, $dir) || die "can't open $dir: $!"; my @files = readdir(DIR); close(DIR); foreach (@files) { # change the extension to one of your liking if ($_ =~ /.log/) { system ("copy $dir\\$_ > $outdir\\$_"); } }