Thread File::Find und move
(14 answers)
Opened by Gast at 2010-02-09 17:58
Hallo!
Habe ich alles richtig gemacht? Bringen die Zeilen etwas? Sollte ich "move file, file" mit "or die $!" testen oder bringt das nichts? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/env perl use warnings; use strict; use File::Copy; use File::Find; my $dir = '/home/oo/bin'; find( \&wanted, $dir ); sub wanted { return if /^\./; return if -d; if ( -e and -f ) { my $file = $_; my $temp = 'temp_file'; open my $out, '>', $temp or die $!; open my $in, '<', $file or die $!; while ( defined( my $row = <$in> ) ) { $row =~ s|^#!/usr/bin/perl|#!/usr/bin/env perl|; print $out $row; } close $in or die $!; close $out or die $!; move $temp, $file; chmod 0755, $file or die $!; } } |