【Perl】初心者コーナー Part14
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/07/18 16:34ID:jemWJhH31:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0329nobodyさん
02/07/24 19:48ID:???0331nobodyさん
02/07/24 20:13ID:???漏れはShift-Jisで使い続けてしまったせいでとても変更してられないと思い変えてないが。
これから始める人はEUC-JPにしておいた方がいいぞ。
0332nobodyさん
02/07/24 20:16ID:???0333nobodyさん
02/07/24 20:21ID:???スマヌ
0336nobodyさん
02/07/24 21:35ID:???よくある設定されている件数を超えると自動で「次の10件」などというアンカーを出すには
どういった処理をすればよいのでしょうか?
0337nobodyさん
02/07/24 21:36ID:???//ボタンを表示するか決定
//引数:ページ
//返値:無し
function checkbuttonvisible($page)
{
//ファイル開く
if(file_exists($this->config->datafile))
{
$fdat = file($this->config->datafile);
$count = count($fdat);
}
//戻るボタンの制御
if($page <= 0)
$this->beforebuttonvisible = false;
//進むボタンの制御
if($count - ($page * $this->config->rescount) <= $this->config->rescount)
$this->nextbuttonvisible = false;
}
PHPだがね。
0338nobodyさん
02/07/24 21:51ID:OQVd1xfTどこをどうすればよいのでしょうか?お願いします。
0343nobodyさん
02/07/25 01:08ID:???0344nobodyさん
02/07/25 01:29ID:EsugPjEdデコードのとこで
jcode.pl使ってる箇所をコメントアウトしてみ
0345nobodyさん
02/07/25 02:08ID:/52BoRCiプログラムが作りたいんですけど、どんなライブラリ、関数を使えばよいでしょうか?
キーワードだけでも教えていただけないでしょうか?お願いします。
0346nobodyさん
02/07/25 02:17ID:???頭の中で言いたいこと整理してからもう一度来い。
>ユーザー名、パスワードを入力し、送信してくれる
意味がわからん。何のユーザー名、パスワード。何処に送信?
0347nobodyさん
02/07/25 03:03ID:???0348nobodyさん
02/07/25 03:06ID:GntP6rBS0349nobodyさん
02/07/25 03:14ID:???0350nobodyさん
02/07/25 03:14ID:???0351http://www.geocities.co.jp
02/07/25 06:29ID:1xMT6UXy0357nobodyさん
02/07/25 12:08ID:???$_351 = "itteyoshi";
}
0358357
02/07/25 12:09ID:???$_351 = "itteyoshi";
}
0360nobodyさん
02/07/25 13:19ID:???rename (aaa.txt, bbb.txt);
でやると実行権限がないとエラーが出ます。念のためaaa.txtのパーミッションを777に
したんですけどダメでした。
unlinkは unlink aaa.txt; とやるのですがファイルが無いとエラーが出ますなんででしょう。
0361nobodyさん
02/07/25 13:32ID:???パーミッション777のファイルがリネームもアンリンクもできないということは、
ファイルシステムが壊れています。OSを再インストールしましょう。
0362nobodyさん
02/07/25 13:34ID:???たぶんそれはないと思うんですけど。
0363nobodyさん
02/07/25 13:34ID:???0365nobodyさん
02/07/25 13:57ID:???中身
#!/usr/bin/perl
require 'jcode.pl';
rename aaa.txt bbb.txt;
print "Content-type: text/html\n\n";# HTML文出力宣言
print "エラー:$!";
何がダメなのかさっぱりわからないです。ちなみにここはパーミッションとかは関係ないみたいです。
0366nobodyさん
02/07/25 13:59ID:???0367nobodyさん
02/07/25 14:07ID:av9ITDXMじゃないの?
0368nobodyさん
02/07/25 14:17ID:???でも今度はファイルが無いとエラーが出ます。
ファイルはちゃんとありますよね・・?
0369nobodyさん
02/07/25 14:22ID:???0370nobodyさん
02/07/25 14:22ID:v0Zz+Fi9こうしているんですが。
0371nobodyさん
02/07/25 14:24ID:av9ITDXM0373nobodyさん
02/07/25 14:25ID:v0Zz+Fi9require 'jcode.pl';
# rename ("../aaa.txt","../bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
何も出ないですね。。
0374nobodyさん
02/07/25 14:26ID:v0Zz+Fi9/aaa.txt
こういう感じです。
0375nobodyさん
02/07/25 14:29ID:???ほんとにそうか?ホスト名が分かれているからCGI専用のサーバが分かれて
いるんじゃない?実際のディレクトリ構造とマウントポイント・エイリアス・
リンクなどもあるからニンともカンとも。
0376nobodyさん
02/07/25 14:39ID:???つーかローカルでテストやれや
外でするならKENTの設定変える以外触るな
0377nobodyさん
02/07/25 15:00ID:???サーバー上でやらないと意味ないじゃん。
0378nobodyさん
02/07/25 15:14ID:???FAQ読めっつってんだろ ああ??
おまえ日本語の不自由な方か?
0380nobodyさん
02/07/25 15:29ID:???普通のファイルがmembers.tripod.co.jpサーバ
0381nobodyさん
02/07/25 15:46ID:v0Zz+Fi9require 'jcode.pl';
rename ("http://members.tripod.co.jp/hello_baby/aaa.txt","http://members.tripod.co.jp/hello_baby/bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
こうやったけどダメでした。
それだけでrenameできると勘違いしている新種の厨房(推定:中学校1年生 オナニーの覚えたて。)
0384nobodyさん
02/07/25 16:02ID:???0385nobodyさん
02/07/25 16:03ID:???おとなしくcgi-bin/以下にファイルを置きましょう。
0386nobodyさん
02/07/25 16:09ID:???というか、一つのサーバーにつないでいるのにあたかも他のサーバーのディレクトリも見えるなんて不思議です。
0387nobodyさん
02/07/25 16:13ID:???require 'jcode.pl';
rename ("aaa.txt","bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
aiueo.cgi と aaa.txt を同じディレクトリに置きました。
エラー:No such file or directory と出ました。
今度は何がいけないんですか?
そんなファイル無いと言われても確かに同じディレクトリにあります。
どうしてこんなに分からず屋なんでしょうか。
0388nobodyさん
02/07/25 16:14ID:???members,cgi,ftpそれぞれ別なんです。
0390nobodyさん
02/07/25 16:19ID:???ほんとだ!
変わってる!!
なんでだ!?
0391nobodyさん
02/07/25 16:49ID:???0392nobodyさん
02/07/25 17:02ID:???0394nobodyさん
02/07/25 17:10ID:???tripodのサポート。
0395礼儀厨房
02/07/25 17:10ID:???�APeriへのパスの指定とディレクトリをいじってみたけど
�Bわかりませんでした。パスの指定とは基本的にどういうことなのでしょうか?
借りたサーバーのQAにいってもよくわかりませんでした。もっとも外国鯖なので
翻訳したのが少々わかりづらかったかなと・・・
借りた鯖はPROHOSTINGです パスの指定、ディレクトリの仕方をご教授ください
お願いします
0397nobodyさん
02/07/25 17:12ID:???惜しいな。
>いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
「コーディング」のスレなんだ。
設置は別のところで聞いて。
0399nobodyさん
02/07/25 17:17ID:???ここから探せばすぐ分かるよ
0401XSについて再び1
02/07/26 02:39ID:???ここで適当に受け答えしてる奴らほんと全員シネヨ。(特にコテ)
今日ひさしぶりにperlxstut.txtみてやっとわかったよ。
手順言うからメモしろチンカスども。
環境はWin ActivePerlな
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
でnmake ダウソ ファイル名はnmakeとかに直しとけ
0402XSについて再び2
02/07/26 02:40ID:???cd Xstestして Xstest.xsに
void
hello()
CODE:
printf("Hello. Tinkasu Boy!\n");
とかく。チンカスはそうお前の事だ。
んでperl Makefile.PL
nmake
nmake install
0403XSについて再び3
02/07/26 02:41ID:???#!/usr/bin/perl(まぁDOSならいらんがな)
use Xstest;
Xstest::hello();
でそれ実行できればOKだ。OK?糞Perler。
お前らが20代とかだったら俺は泣くね。
0404nobodyさん
02/07/26 02:47ID:???0405nobodyさん
02/07/26 05:42ID:???前に5.7絡みでgunzipが講釈してた様なきがするけど
やっぱり●●は想像を絶する位●●なのかなあ
0406nobodyさん
02/07/26 06:08ID:???0407nobody
02/07/26 06:20ID:???0408406
02/07/26 07:35ID:???というか圧縮されたプログラムなんで、実行するとnmake.exeとnmake.errってファイルが出来る(だったかな)
だからrenameの必要はないはずなんだけどなぁ。彼は実際にやってみたんだろうか。
0413nobodyさん
02/07/26 13:48ID:???この || って、ダメだったらって意味ですか?
0414nobodyさん
02/07/26 13:50ID:???もしくは。
ifの中のと一緒だ。
前の式がtrueなら後ろの式は評価されないと言う性質を逆手に取った
他の言語ユーザに見せたらどつき倒されそうな処理です。
0415nobodyさん
02/07/26 14:02ID:???あと、
sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\">$2<\/a>/g;
}
これはURL文字列を自動的にリンクにするサブルーチンですけど、
自分は正規表現が複雑なのはわかりません。
でもサブルーチンは便利で引数だけ渡せば意図する結果を返してくれます。
サブルーチンの中の正規表現をわざわざ噛み砕いて理解する必要はありますか?
まぁ、これがわからないと自分でいちから作れないという訳になってしまいますが。
0417nobodyさん
02/07/26 14:09ID:OgCRHfVmscript01.plをuser01で実行し、その中からsystem関数を使って
script02.plを実行させたい。
ただし、script02.plは、user02が実行したものとしたい
2:それでこんな風にやってみたが・・・
perl -h で起動オプション調べてみましたが、起動ユーザーを指定
する方法がありませんでした。
何か、スクリプトを起動するユーザーを選択する方法ってないでしょうか?
0419nobodyさん
02/07/26 14:39ID:???そうか?Cとかで
fp = fopen("m","r") || printf("error!");
なんてコード書いたら多分干される。
0420nobodyさん
02/07/26 14:49ID:OgCRHfVmgoogleで調べたら、chmod 4755 script02.pl でsetuidモードになるようです
が、やはりだめでした。
script02.pl は、PostgreSQL への INSERT文を集めたスクリプトなんですが
database not connecti が出ますね。
いや、言わないでください。GRANTでデータベースの方に権限与えれば
っていうのは重々判ってはいるんですが、script01.plを実行するユーザは
nobodyにしたいんですよね。将来、CGIにする為。
dbにnobodyの権限を与えるのを躊躇ったものですから、script02.pl を
PostgreSQLユーザーの権限にしておいて、実行ユーザーを換えようと
思ったんです。
どうも、この方法はだめなようですから、GRANTを検討してみます。
0422nobodyさん
02/07/26 15:31ID:???return $hoge;
↑ってどういう意味があるんですか?
0424nobodyさん
02/07/26 15:52ID:NvB7dZaP0426nobodyさん
02/07/26 15:55ID:???else{ print "NO"; }
cgiファイルと同じディレクトリにhoge.txtがあるんですけど
NOしか出てきません。なぜですかね。
他のファイル演算子も試しても全部elseになっちゃいます。
0428422
02/07/26 15:57ID:???else{print "b";}
0429nobodyさん
02/07/26 16:00ID:???Perlは一番最後に処理されたステートメントが「自動的」に
戻り値になる:
sub FOO_1 { 1 }
sub FOO_2 { return 1 } # FOO_1 と戻り値は一緒
sub BAR { FOO_1() } # 戻り値はFOO_1の戻り値
■ このスレッドは過去ログ倉庫に格納されています