I have so little experience with Perl I shouldn't even be attempting to write this script but it would be darn handy if I can make it work.
I'm trying to get the all of the files from a specific directory which contain 10.xx.11 and move them into another directory. The operation seems to go okay until Perl attempts to move the array elements. I get a "no such file or directory" message pointing to the line containing the move command. I know the directory exists at the correct location. Any help would be much appreciated.
#!/usr/bin/perl -w use strict; use warnings; use diagnostics; use File::Copy; my (@files) = (); my ($file) = 0; my ($directory) = "directory"; opendir (DIR, $directory) || die "could not open $directory: $!\n"; @files = grep {/^10/} readdir DIR; closedir DIR; print("You are moving the following files to another location\n"); foreach $file (@files) { print $file . "\n"; } my ($newlocation) = "target"; foreach my $file (@files) { move($file, $newlocation) || die "could not move files: $!\n"; }
In reply to No such file or directory when moving grep results by Matthew Tod
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |