#!/usr/bin/perl# strict und warnings sollten
# in jedem Perl-Programm
# vorhanden sein
use strict;
use warnings;
# File::Copy laden zum kopieren der
# Dateien
use File::Copy qw(copy);
# File::Spec laden zum Zusammensetzen
# der Pfadangaben
use File::Spec;
# Pfad, in dem die Dateien liegen
my $source_dir = '/path/to/directory';
# Pfad, in den die Dateien kopiert werden
my $target_dir = '/path/to/other/dir';
# auslesen des Verzeichnisses
# siehe auch perldoc -f opendir
# perldoc -f closedir, perldoc -f readdir
opendir my $dirh, $source_dir or die $!;
# . und .. aussortieren
# gleichzeitig die Dateinamen auslesen
my @files = grep{ ! /^\.\.?$/ }readdir $dirh;
closedir $dirh;
for my $filename ( @files ){
my $old = File::Spec->catfile( $source_dir, $filename );
# wenn "detail" vorkommt, dann kopieren
if( $filename =~ /detail/ ){
my $new = File::Spec->catfile( $target_dir, $filename );
copy $old, $new;
}
# löschen der Datei
unlink $old;
}
# Skript ist ungetestet
Datum: 10.01.2009-11:32
