i kaldet til scriptet sætter jeg lok=../test dir/ på mit site ligger "cgi-bin" og "test dir" på samme niveau, og jeg får en fin liste af filer og dirs når jeg kører scriptet på min udbyders Unix-server. Men når jeg kører det hjemme på min windows 2000 iis5 ActivePerl server fejler opendir. Hvis jeg ændrer kaldet til scriptet så lok angiver hele stien f.eks. "D:\test dir" så virker det fint. problemet er bare at jeg skal bruge samme script på begge serverer uden ændringer.
Jeg har indtryk af at de to typer ikke har samme udgangspunkt, kan der være noget om snakke ?
$startdir = $input{'lok'}; chdir('cgi-bin'); # fejler godt nok på apache/unix server (forudsat at man ikke har cgi-bin/cgi-bin) men kører videre så vi nu på begge servere start i /cgi-bin opendir(DIR,$startdir) || print "can't open $startdir\n"; @filer = readdir(DIR); closedir(DIR); foreach $i(@filer) { print "$i<br>\n"; }
den slags kunne man også lægge i en konfig-fil og så læse det ind - så er scriptet det samme mens lokale ting rettes i konfig-filen; der findes et godt modul til at håndtere konfig-filer som hedder: Config::General
mfalck, kan du ikke lige svare på det her. Jeg har endelig fået tid til at kigge på config-modulet, og det ser ud til at vejen frem til en mere elegant løsning på problemet :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.