Thank you all for your help. For some reason the ":" instead of "/" didn't click, but I remember reading that, now. And, yes, I mistakenly sent this post to the wrong list. Thanks for the heads up.
Mark Wheeler ----- Original Message ----- From: "Thomas Wegner" <[EMAIL PROTECTED]> To: "Mark Wheeler" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, October 22, 2002 1:08 AM Subject: Re: [MacPerl-Modules] writing file in wrong directory > At 23:02 Uhr -0700 21.10.2002, Mark Wheeler wrote: > >Hi all, > > > >Here is a quick one that confuses me. I am trying to open one file in the > >cgi-bin directory, modify it's contents, then write the altered file to a > >completely different directory (up one directory, then into another > >directory). Here is the script: > > > >---------------------------- > > > > > >sub createpage { > > > >open (GETFILE, "<$pathtotemplatepage") ||die " $!"; # open .html template > >@contents=<GETFILE>; # read contents into array > >$linenum=0; > >close (GETFILE); > >$lastline=$#contents; > >for ($last=0; $last<$lastline+1; $last=$last+1) { > > $contents[$last]=~s/:username:/$username/; #change contents > > } > >open (WRITEPAGE, ">../clients/client1.html"); # write file to new directory > >print WRITEPAGE @contents; > >close (WRITEPAGE); > > > >} > > > > > >---------------------------- > > > >Here is what I get. The original file (the .html template) is read fine, > >altered fine, and written fine, except for two things which I think are > >connected. The final file that is written, is written to the cgi-bin > >directory (where the script is run), not the "clients" directory AND, the > >name of the file is not "client1.html", but rather "../clients/client1.html" > > > >What am I missing? Any help would be appreciated. > > > >Mark > > > You are on Mac OS Classic, right? So, one directory up and then down > into the 'clients' directory would be > > "::clients:client1.html" > > > Here's a brief reminder of the Mac OS Classic path specification rules: > > The path separator is a colon ':', not a slash '/'. A full path > always begins with a volume name. A relative pathname on Mac OS > Classic must always begin with a ':', except when specifying a file > or directory name in the current working directory, where the leading > colon is optional. If specifying a volume name only, a trailing ':' > is required (otherwise its optional, but should be used to > distinguish file from directory paths). > > The current directory is denoted by ':', one directory up would be > '::', two directories up would be ':::' and so on. > > > Btw, this list is for discussion about modules, not general (Mac-) > Perl questions. So your question is better suited for the > <[EMAIL PROTECTED]> mailing list (or maybe the > <[EMAIL PROTECTED]> list). > > HTH, > > Thomas.