Ich bin überhaupt nicht vertraut mit Perl, aber habe etwas Verständnis von HTML. Ich versuche gerade, Code von einem on-line-Programm zu konfigurieren, das Text verarbeitet, der vom Benutzer eingegeben wird, um einige wichtige Zahlen zu berechnen und auszugeben, um dasselbe für eine große Anzahl von Dateien zu tun, die Text in einem lokalen Verzeichnis enthalten. Das Problem liegt in meinem Unverständnis dafür, wie oder warum der Code von der Site den eingegebenen Text aufteilt, indem nach & und = gesucht wird, da der eingegebene Text niemals diese Zeichen enthält, und auch nicht meine Dateien. Hier ist ein Teil des Codes aus dem Online-Programm:PERL/CGI- bekommt mehr als Text aus Eingabetextbereich
if ($ENV{'REQUEST_METHOD'} ne "POST") {
&error('Error','Use Standard Input by METHOD=POST');
}
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if ($buffer eq '') {
&error('Error','Can not execute directly','Check the usage');
}
$ref = $ENV{'HTTP_REFERER'};
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/,$pair);
if ($name eq "ATOMS") { $atoms = $value; }
Es verwendet dann diese „Paare“, um in geeigneter Weise die erforderlichen Zahlen zu berechnen. Die Eingabe von dem Benutzer einfach ein Textfeld „Atom“ genannt, und die Form Aktion für den CGI-Skript:
<form method=POST action="/path/to/the/cgi/file.cgi">
<textarea name="ATOMS" rows=20 cols=80></textarea>
</form>
ich sowohl die weniger wichtigen Details des HTML und Perl-Codes weggelassen habe. Bisher konnte ich den gesamten Inhalt aller Dateien in einem bestimmten Verzeichnis in einem Textformat abrufen, aber wenn ich dies in das Skript eingab, das den Text aus Textarea verwendet, um die Werte zu berechnen (anstelle von Variable $ buffer), funktioniert es nicht, was vermutlich auf die geteilten Codes zurückzuführen ist, die die & und = Symbole nicht finden können. Wie erhält der Code diese Symbole aus dem Online-Skript und wie kann ich diese für meine lokalen Dateien verwenden? Lassen Sie mich wissen, wenn zusätzliche Informationen benötigt werden, und bedanken Sie sich im Voraus!
Der Code, den Sie dort haben, ist ** Old ** mit einer Hauptstadt O. – simbabque