in reply to SSI Emulation Library
Three points, after a quick scan through your code:
Using $^O =~ /win/ to detect Windows systems will fail to detect 'MSWin32' as a Windows system, and will falsely detect 'Darwin'. This was an issue for the CGI module on p5p recently; the recommended solution was $^O =~ /^MSWin/i.
Removing a trailing slash from a path can be done more easily with a regex than with substr:
However, / can be used as a directory separator in Perl on Windows, and there are other operating systems, besides Unix and Windows, and they don't all use slash or backslash as the directory separator. File::Spec would be a portable way of dealing with this issue.$cwd = getcwd(); $path = $ENV{'DOCUMENT_ROOT'}; if ($^O =~ /^MSWin/i) { $cwd =~ s,\\$,,; $path =~ s,\\$,,; } else { $cwd =~ s,/$,,; $path =~ s,/$,,; }
Finally... Have you tested your code with HTML that contains multiple SSI directives on the same line?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: SSI Emulation Library
by EvanK (Chaplain) on Jan 14, 2001 at 12:15 UTC |
In Section
Code Catacombs