アンドロイド3.2を実行している私のSamsung Galaxyタブレットでcgiアプリケーションを実行できるようにします。 GroomDroid、SL4A、PerlForAndroidをインストールしました。
groom.confファイルを/ sdcardディレクトリに置き、GroomDroidを起動します。Android cgi web serverファイルとローディングperlスクリプト
私のperlスクリプトを/ data/perlappフォルダに置き、perlファイルを実行可能にして親フォルダを書き込み可能にします。
すべてのファイルが実行しているのは、print文を実行していることです。私がperlのスクリプトにアクセスするとき、人生は良いです。私はコンピュータのようにウェブページを期待どおりに見ています。
私がperlスクリプトからファイルを作成しようとすると、HTTP 506 IO Errorが発生します。
なぜ私はこれを得ているでしょうか?
私は、perlファイルが同じディレクトリにある場合でも、require文を実行することはできません。
ここのお手伝いをよろしくお願いいたします。
私が実行しようとしていますコード:
#!/data/data/com.googlecode.perlforandroid/files/perl/perl
print "Content-type: text/html\r\n\r\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"w3.org/TR/html4/loose.dtd\"";
print "<html><body style=\"font-family: arial; margin: 20px;\"><span style=\"color:red; font-weight: bold; padding-right: 10px;\">";
eval {
open(FILE, ">>/data/scwi/data/temp.cgi") or print $!;
print FILE "respondent 1\n";
close(FILE);
};
print $!;
if ($!) {
print "Error";
} else {
print "Success";
}
print "</span></body></html>";
にまっすぐに指していますが、あなたはありますあなたのシステムコールの戻り値をチェックする( 'open'など)?あなたは '$!'(そしておそらく '$^E')の値をチェックしていますか? – mob
私はevalブロックにopenステートメントがあり、$ @をチェックしています。 $ @は空です。 –
あなたのopenステートメントは有効な構文であり、成功したものではありません。戻り値をチェックし、 '$!'をチェックしてください。 – mob