Schrift
[thread]7302[/thread]

File:find: Nur Dateien mit bestimmten Endungen



<< >> 3 Einträge, 1 Seite
alpgager
 2005-09-22 12:53
#58351 #58351
User since
2005-08-02
5 Artikel
BenutzerIn
[default_avatar]
Ich benutze File::find, um rekursiv ein bestimmtes Verzeichniss zu durchsuchen.
ich habe den String extension (".c,.d ,.e").
Hier mein Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
use File::Find;
find( \&foundfile, "c:/TMP/" );
sub foundfile {
my $abortboolean= "true";
return unless -f $_; # Only Files are interesting
my @extensionarray = split(/,[' ']?/, $extension);
my $array_element;
foreach $array_element(@extensionarray)
{if (/$array_element$/i){print "FALSE\n";$abortboolean="false";}}
if ($abortboolean eq "true"){print "TRUE\n";return;}
print "Datei $_ ist ", -s $_, " Byte gross.\n";
}

Das Problem:
Er erkennt alle *.e Dateien wunderbar; LEIDER erkennt er auch *.EXE .
Was mache ich falsch ?
renee
 2005-09-22 13:06
#58352 #58352
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
if (/\Q$array_element\E$/i){


Das maskiert alle Sonderzeichen wie das "." in $array_element.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2005-09-22 13:44
#58353 #58353
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
perldoc perlstyle
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 3 Einträge, 1 Seite



View all threads created 2005-09-22 12:53.