Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12347[/thread]

$File::Find::name, wer kann helfen !!!

Leser: 1


<< |< 1 2 >| >> 19 Einträge, 2 Seiten
miricoleo
 2008-08-12 23:13
#113441 #113441
User since
2008-08-05
7 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

meine Perl-Kenntnisse sind gerade 1 Woche alt, ich lese Verzeichnisse aus, klappt auch gut.

Aber jetzt möchte mein Chef noch eine Suche haben :

Habe darum folgendes eingebaut :

$muster = "*.xls";

find(\&dateisuche, "c:/verz1/test");

sub dateisuche {
if ( $File::Find::name =~ /^$muster$/ ) {
push(@files, $_);
print $_;
}
return;
}

Alle Beispiele im Web sind nach diesem Schema, aber bei mir geht es nicht !!!!

was ist falsch, ich probiere seit gestern an dieser Suche rum und werde fast wahnsinnig.

Mein skript steht nicht unter c:/verz1/test, könnte das eine Rolle spielen.

Bin über jeden Tipp dankbar !!!

VG Claudia
pktm
 2008-08-12 23:46
#113444 #113444
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ich hab überhaput keine Lust mir ein Skript anzugucken, dass kein strict und warnings verwendet (ist nicht persönlich gemeint).
Aber wenn dir jemand helfen soll, dann solltest du Fehler durch strict & warnings schonmal ausgemerzt haben.

Hier ein kleines (ungetestetes) Skript, das machen müsste, was du willst:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use strict;
use warnings;
use Data::Dumper qw/Dumper/;
use File::Find::Rule;

my $muster = '*.xls';
my @verzeichnisse = (
'c:/verz1/test',
'c:/verz1/test2',
);

# find all the .pm files in @INC
my @files = File::Find::Rule->file()
->name( $muster )
->in( @verzeichnisse );

print Dumper \@files;


Grüße, pktm

Nachtrag: siehe auch http://wiki.perl-community.de/bin/view/Wissensbasi...
http://www.intergastro-service.de (mein erstes CMS :) )
miricoleo
 2008-08-13 00:02
#113446 #113446
User since
2008-08-05
7 Artikel
BenutzerIn
[default_avatar]
Wenn ich genau Dein Skript nehme, bekomme ich einen Serverfehler !!!


Das use File::Find::Rule kennt er nicht !!!

Habe hier xampp laufen, gibt es dort Unterschiede ???
pktm
 2008-08-13 00:17
#113448 #113448
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ja, zum einen willst du ein CGI-Skript, also eines, das Webseiten an einen Browser sendet. Mein Beispiel ist nur ein Minimalprogramm, das dir veranschaulicht, wie File::Find::Rule funktioniert.
Das ist nämlich zum anderen ein Modul, das du zuerst installieren musst. Es gehört nicht sandardmäßig zum Umfang von Perl, und wie es aussieht auch nicht zum Paket von xampp.
Ich weiß nicht genau, wie man das mit xampp macht, habe mit dem Paket keine Erfahrung. Da kann vllt. wer andere helfen.

Btw, dass du ein CGI-Skript brauchst, konnte mir meine Glaskugel nicht sagen. Bitte schreib mir das das nächste Mal dazu ;-)

Hier ganz unten scheint es Informationen zur Installation von Perl-Modulen unter xampp zu geben: http://wiki.kwm-web.info/doku.php/xampp
http://www.intergastro-service.de (mein erstes CMS :) )
miricoleo
 2008-08-13 00:33
#113449 #113449
User since
2008-08-05
7 Artikel
BenutzerIn
[default_avatar]
ohje, dann wird's kompliziert, ich dachte, dass ist standard-perl.

Hier zu Hause habe ich xampp, in der Firma NT, morgen sollte alles laufen ...

Wie installiert man denn so ein Modul ???
renee
 2008-08-13 00:46
#113451 #113451
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie man Module installiert, ist in diesem Wiki:Artikel beschrieben...
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/
pktm
 2008-08-13 00:49
#113452 #113452
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
miricoleo+2008-08-12 22:33:55--
ohje, dann wird's kompliziert, ich dachte, dass ist standard-perl.

Hier zu Hause habe ich xampp, in der Firma NT, morgen sollte alles laufen ...

Wie installiert man denn so ein Modul ???


NT ist kein Server, sondern ein Betriebssystem. Läuft darauf ein Webserver? (mein Beileid)

Was brauchst du den nun? Ein Programm, dass dir Dateien in Verzeichnissen sucht, oder ein Skript für einen Webserver?
http://www.intergastro-service.de (mein erstes CMS :) )
miricoleo
 2008-08-13 10:00
#113463 #113463
User since
2008-08-05
7 Artikel
BenutzerIn
[default_avatar]
Ich brauche ein Programm, dass mir Dateien sucht.

Und, wenn es geht ohne File::Find::Rule, und das alles bis heute,

aber gut, wenn es nur mit diesen externen Funktionen geht, dann muss ich es halt wohl weglassen.
Struppi
 2008-08-13 11:12
#113466 #113466
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
So in der Art:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  #!/usr/bin/perl -w
use strict;
use File::Find;

my $muster = '\.xls';
my @files;

find(\&dateisuche, "./");

sub dateisuche {
        return unless /$muster$/i;
        
        push @files, $_;
        print "$_\n";
}
pktm
 2008-08-13 11:36
#113475 #113475
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ja, warum auch sich die Mühe machen zu lernen, wie man Module installiert, wenn man auch einfach die ganze Arbeit selbst machen kann - wenn man es denn kann.
http://www.intergastro-service.de (mein erstes CMS :) )
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2008-08-12 23:13.