Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: how to a specific group of files from source directory to destination directory

by rminner (Chaplain)
on Oct 20, 2007 at 08:03 UTC ( [id://646153]=note: print w/replies, xml ) Need Help??


in reply to how to a specific group of files from source directory to destination directory

Remark: Posted this in reply to an unformated dupe (Reason for the code tags comment)

Hi,
You should put your code inside <code> tags - it makes the code more readable. If not one has to look up the source of the webpage to get a readable format. You might consider reading Writeup Formatting Tips.

Trying to make sense of your code (put inside <code> tags):
#!/usr/bin/perl use File::Copy; $dest="/home/dpavu2/users1/perl/sra/"; print "the source direcotry name:\n"; chomp(my $source = <STDIN>); opendir(DIR, $sech $file(@files){ @files = grep { /\.log$/ } readdir (DIR); foreach $file(@files){ } closedir (DIR);
i guess you were trying to do the following:
#!/usr/bin/perl use strict; use warnings; use File::Copy; use File::Spec; my $dest="/home/dpavu2/users1/perl/sra/"; print "the source direcotry name: \n"; my $source = ''; chomp($source = <STDIN>); if (opendir(my $DIR, $source)){ my @files = grep { /\.log$/ } readdir ($DIR); foreach my $f (@files){ my $src = File::Spec->catfile($source , $f); my $dst = File::Spec->catfile($dest , $f); copy($src , $dst) or die "Failed to copy $src to $dest ($!)\n" +; } closedir ($DIR); } else { warn "Failed to open '$source ' for reading ($!)\n"; }
The Module File::Copy::Recursive is also quite practical when copying files. You should also always include
use strict; use warnings;
directives at the beginning of your perl code. If you don't understand an error message then
use diagnostics;
might create error messages which make more sense to you.
Cheers Roland

Replies are listed 'Best First'.
Re^2: how to a specific group of files from source directory to destination directory
by asdfghjkl (Initiate) on Oct 20, 2007 at 09:15 UTC
    i am very thank ful for the help extended same thing i its working how can i reverse the content of each file?? i.e if a file contains lee jones can i have it as jones lee.

    20071110 Edited by Co-Rion: Restored content

      asdfghijkl:

      You could get a hint from the documentation:

      perldoc -f reverse

      but I have this on the shelf:

      #!/usr/bin/perl -w print join(" ", reverse split /\s/), "\n" for (reverse <STDIN>);
      ...roboticus
      i am very thank ful for the help extended same thing i its working how can i reverse the content of each file?? i.e if a file contains lee jones can i have it as jones lee.

      I personally believe that since this is a wholly different question, then you should start a new thread. Notice: one new thread, not a hundred like the list time. Before you do so, please pause a little, take a deep breath and review your requirements: your specs as of now are far too poor - are your files expected to only contain strings like "lee jones"? In the IMHO unlikely case that is actually so, you may be content with

      print reverse split /(\s+)/;

      in conjunction with the $^I special variable. If you only want to replace the fixed string "lee jones" with "jones lee" everywere, then

      s/lee jones/jones lee/g;

      may be enough. But things may become trickier if spacing is not uniform, case does matter and you want to preserve it, and so on. In any case, you have to tell us.

Re: how to a specific group of files from source directory to destination directory
by asdfghjkl (Initiate) on Nov 05, 2007 at 00:58 UTC
    instead of prompting for a directory names how can i give the source and dest names from the command line itself i.e ./programname source dest

    20071110 Edited by Co-Rion: Restored content

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://646153]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-19 21:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found