Мне очень нужна помощь в этом, скрипт на PERL-CGI (полный рабочий скрипт приведен ниже).
Как добавить к этому корневую папку сервера (folder_f):
~ s / _e.shtml / _f.shtml /
Этот фрагмент кода ищет все вхождения _e.shtml и заменяет их на _f.shtml (он находится в той же папке).
Тем не менее, между этим я хотел бы иметь возможность добавить туда корневой каталог сервера папки "folder_f" или сделать что-то другое, если это необходимо.
Мой скрипт называется "change-language".pl "- которая имеет гиперссылку на него в" file_e.shtml ".При нажатии он попытается найти файл "file_f.shtml".
Например, что я хотел бы сделать:
~ s / _e.shtml / (FOLDER_F) _f.shtml / (найден в скрипте ниже, но я добавил (FOLDER_F).
Я пытался: $ call_page = ~ s / _e.shtml / 's / ^ / $. \ F«/_f.shtml/;
но это не сработало. Это приводит меня к тому же файлу _e.shtml.
Я был бы очень признателен за помощь в этом, так как я могу»Похоже, что это не так, с тем, что я знаю до сих пор.
Полный скрипт приведен ниже, который работает, но только если оба языковых файла (file_e.shtml и file_f.shtml) находятся в одной папке.необходимо, чтобы скрипт работал, чтобы он находил файл (file_f.shtml), но находился в другой подпапке в корневом каталоге сервера, называемой папкой «FOLDER_F».
в части $ call_page= ~ s / _e.shtml / _f.shtml /; скрипта, есть ли способ сделать это:
$ call_page = ~ s / _e.shtml (FOLDER_F) / _ f.shtml /; -FOLDER_F в круглых скобкахПрежде чем я хотел бы иметь возможность изменить сценарий так, чтобы он перешел в подпапку и получил file_f.shtml в подпапке FOLDER_F.
То, что у меня есть, следует за РАБОТАМИ, но работает только еслифайлы _e.shtml и _f.shtml находятся в одной папке:
#!/usr/bin/perl
#
#
# get the URL for the Web page that called this script
$calling_page = $ENV{'HTTP_REFERER'};
if($calling_page =~ /(.*)\#.*/) {
# # only take the first part up to the #
$calling_page = $1;}
# ignore any file that is not _e.shtml or _f.shtml and do nothing!
# is this an _e.shtml file?
if($calling_page =~ /_e\.shtml/) {
# replace the suffix
$calling_page =~ s/_e\.shtml/_f\.shtml/;
print "Location: $calling_page\n\n";
# then is this an _f.shtml file?
}