Avatar billede lillbi Nybegynder
26. september 2007 - 11:28 Der er 21 kommentarer og
1 løsning

perl variable til Local Settings

Findes der en perl miljøvariabel til <currentUser>/Local Settings mappen. Jeg er nemlig ved at lave et script som skal ligge en fil ind i <currentUser>/Local Settings/, men da denne jo også i nogle tilfælde kan hedde Lokale indstillinger, står jeg og mangler en miljøvariable som automatisk returnerer hvilken af mapperne der bruges for øjeblikket.

På forhånd mange tak :)
Avatar billede nielle Nybegynder
26. september 2007 - 11:32 #1
Du kan jo prøve at udskrive indholdet af @ENV arrayet. Hvis den er der, så må den være der.
Avatar billede Slettet bruger
26. september 2007 - 11:35 #2
Kan du ikke bare bruge Modulet Cwd? Den skulle være ret standard (beskrevet i Programming Perl)

use Cwd;
my $current_dir = getcwd(); # where am I?
Avatar billede lillbi Nybegynder
26. september 2007 - 11:40 #3
Det skal lige siges at jeg har programmeret meget før men perl er nyt for mig, så hvordan kan jeg få udlæst @ENV arrayet?
daleif: jeg har prøvet at kopy paste det du skrev men koden vil ikke kører?
Avatar billede mfalck Praktikant
26. september 2007 - 11:51 #4
Avatar billede mfalck Praktikant
26. september 2007 - 11:52 #5
evt skal du bare skrive

print @ENV;

Du skal nok installere pakken Cwd
http://perldoc.perl.org/Cwd.html
Avatar billede Slettet bruger
26. september 2007 - 11:57 #6
Cwd burde da være en standard del af Perl installationen
Avatar billede lillbi Nybegynder
26. september 2007 - 12:35 #7
Jeg fande på nettet hvordan man udskriver alle miljøvariabler i perl:

#!/usr/local/bin/perl
  print "Content-type: text/html\n\n";
  print "<tt>\n";
  foreach $key (sort keys(%ENV)) {
      print "$key = $ENV{$key}<p>";
  }

Jeg har så prøvet  $ENV{TEMP}; men den returnerer --> C:/DOCUME~1/bnk/LOCALS~2/Temp ovor jeg ikke kan bruge den forkortete udgave men skal have den til at returnerer C:\Documents and Settings\bnk\Local Settings\
hvordan gør jeg dette ?
Avatar billede nielle Nybegynder
26. september 2007 - 12:53 #8
Hvis du ellers fjerner "/Temp" i enden af din streng så burde den fungere lige så godt som den streng du efterspørger.
Avatar billede Slettet bruger
26. september 2007 - 13:00 #9
forresten er du sikker på at TEMP variablen er sat hos alle brugere? Det burde du nok teste for.
Avatar billede lillbi Nybegynder
26. september 2007 - 13:47 #10
daleif: er den ikke per default?
Avatar billede Slettet bruger
26. september 2007 - 13:51 #11
Jeg bruger ikke Windows, så det ved jeg ikke. Men jeg ville teste for eksistensen af den og give en error hvis den ikke findes, bare for at være sikker.
Avatar billede nielle Nybegynder
26. september 2007 - 14:29 #12
TEMP og TMP variablene er ikke støbt i cement - de kan sagtens ændres til at pege et helt andet sted hen og de kan også slettes helt af brugeren
Avatar billede Slettet bruger
26. september 2007 - 14:44 #13
hvis man skal bruge et temporært område til det man skal lave, så anvendt File::Temp til at lave en temporært bibliotek som automatisk bliver slettet når scriptet er færdig. Det bruger jeg meget.
Avatar billede nielle Nybegynder
26. september 2007 - 14:59 #14
TEMP blev vist kun introducret fordi at den virkede som en farbar vej til at få fat i værdien for "<currentUser>/Local Settings/". Filen der ønskes gemt er vel ikke nødvendigvis temporær?
Avatar billede nielle Nybegynder
26. september 2007 - 15:05 #15
Et muligt alternativ er at gå på jagt efter værdien i registraturet. Dette kræver dog installation af moduler til formålet:

http://search.cpan.org/~avatar/Win32-Registry-File-1.10/File.pm

http://search.cpan.org/search?query=registry&mode=all
Avatar billede nielle Nybegynder
07. oktober 2007 - 11:06 #16
Er du kommet videre med denne her?
Avatar billede nielle Nybegynder
16. oktober 2007 - 08:27 #17
Hmm?
Avatar billede lillbi Nybegynder
17. oktober 2007 - 11:08 #18
jeg fandt ikke en miljøvariable som kunne bruges man lavede det via nogle omveje.
Men skriv lige et svar så jeg kan give points.
Avatar billede nielle Nybegynder
17. oktober 2007 - 22:22 #19
Hvis det ikke var vores hjælp som bragte løsningen i hus, så synes jeg at du selv skal lægge et svar og tage dine point tilbage. :^)

Hvad endte du egentlig med at gøre?
Avatar billede nielle Nybegynder
17. oktober 2007 - 22:23 #20
Hov, det var *ikke* meningen at gøre det til et svar!
Avatar billede lillbi Nybegynder
24. januar 2008 - 16:42 #21
Du skal jo have noget for din ulejlighed :)
Avatar billede nielle Nybegynder
24. januar 2008 - 17:46 #22
Jamen, så siger jeg da tak for point :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester