(linenum→info "unix/slp.c:2238")

openssl/0.9.8g/util/copy.pl

    1: #!/usr/local/bin/perl
    2: 
    3: use Fcntl;
    4: 
    5: 
    6: # copy.pl
    7: 
    8: # Perl script 'copy' comment. On Windows the built in "copy" command also
    9: # copies timestamps: this messes up Makefile dependencies.
   10: 
   11: my $arg;
   12: 
   13: foreach $arg (@ARGV) {
   14:         $arg =~ s|\\|/|g;      # compensate for bug/feature in cygwin glob...
   15:         foreach (glob $arg)
   16:                 {
   17:                 push @filelist, $_;
   18:                 }
   19: }
   20: 
   21: $fnum = @filelist;
   22: 
   23: if ($fnum <= 1)
   24:         {
   25:         die "Need at least two filenames";
   26:         }
   27: 
   28: $dest = pop @filelist;
   29:         
   30: if ($fnum > 2 && ! -d $dest)
   31:         {
   32:         die "Destination must be a directory";
   33:         }
   34: 
   35: foreach (@filelist)
   36:         {
   37:         if (-d $dest)
   38:                 {
   39:                 $dfile = $_;
   40:                 $dfile =~ s|^.*[/\\]([^/\\]*)$|$1|;
   41:                 $dfile = "$dest/$dfile";
   42:                 }
   43:         else
   44:                 {
   45:                 $dfile = $dest;
   46:                 }
   47:         sysopen(IN, $_, O_RDONLY|O_BINARY) || die "Can't Open $_";
   48:         sysopen(OUT, $dfile, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY)
   49:                                         || die "Can't Open $dfile";
   50:         while (sysread IN, $buf, 10240)
   51:                 {
   52:                 syswrite(OUT, $buf, length($buf));
   53:                 }
   54:         close(IN);
   55:         close(OUT);
   56:         print "Copying: $_ to $dfile\n";
   57:         }
   58:                 
   59: 
Syntax (Markdown)