demo
Hej!
Har gjort nedastående lilla kod, som söker igenom filerna i mappen dokument.
Om det nu finns ytterliggare mappar i mappen dokument, så söker den inte i dessa.
Vilket kommando bör jag använda för att sökande även skall inkludera undermappar?
Mvh,
Demo
# Öppnar mappen och läser in filerna
$mapp='/home/www/mindomän/htdocs/dokument';
opendir (MAPP,$mapp);
@filer=readdir(MAPP);
close (MAPP);
foreach $filer (@filer){
if (($filer=~/.htm/i)| |($filer=~/.html/i)| |($filer=~/.shtml/i)){
$filgranskning=$mapp."/".$filer;
Osv, osv
[Redigerat av demo den 09 jul 2000]
RobbanMedlem sedan dec. 19992 555 inlägg Löses enklast med standardmodulen File::Find. Ett exempel:
#!/usr/bin/perl -w
use File::Find;
$mapp='/home/www/mindomän/htdocs/dokument';
find(\&wanted, $mapp);
sub wanted {
if (-f && (/\.htm$/i | | /\.html$/i | | /\.shtml$/i)) {
$filgranskning = $File::Find::name;
print "$filgranskning\n";
}
}
(Observera att det här forumet, av någon anledning, stoppar in ett mellanslag mellan | och | i | |. Måste tas bort om du kopierar kod härifrån.)
------------------
Robban < robban@lipogram.com >
[Redigerat av Robban den 10 jul 2000]
demo
Hejsan Robban!
Denna standardmodul use File::Find är den standard även på mindre servrar som Sambar?
Provade något exempel tidigare som använde en standardmodul i ett annat sammanhang, och det gick inte heller.
I och för sig så fick jag inte ovanstående att fungera även på mitt 'riktig' serverutrymme.
Men hur standard är standardmodulerna egentligen. Lite nyfiken bara :-)
Mvh,
Demo
------------------
Vad är en allsvenska utan blåränder? Jo, som en PC utan tangentbord ungefär.
RobbanMedlem sedan dec. 19992 555 inlägg Tja, standard innebär att modulen följer med Perl. Men det är ju inte säkert att det gäller i lite äldre Perl-versioner, och vissa portningar kan säkerligen skilja sig från standardutbudet. Vet faktiskt inte hur länge File::Find har funnits med. Har inte heller provat den på Windows.
Vad är ditt "riktiga" serverutrymme, och vad hände när du försökte där?
Går naturligtvis att använda opendir för att skriva en egen funktion som gör samma sak som File::Find. Hade bara inte tid med det när jag svarade. Handlar om att man får undersöka det man hittar i den översta katalogen, för att se om något av det är kataloger. Om så är fallet får man öppna dessa och upprepa proceduren. Detta håller man på med tills man nått ut längst ut i alla grenarna i trädstrukturen.
Lite småbökigt alltså, så File::Find underlättar en del. :)
------------------
Robban < robban@lipogram.com >
demo
Hej Robban!
Fick det att fungera.
Skall dock försöka att ladda hem en nyare Perlversion än den som följer med Sambarserver, så att man kan knåpa med detta utan att vara uppkopplad.
Tack för hjälpen!
//Demo
------------------
Vad är en allsvenska utan blåränder? Jo, som en PC utan tangentbord ungefär.