【Perl】初心者コーナーPart10
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/02/24 22:18ID:zOj6Yq/31:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。
参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけど、なんか質問ある?part5】
http://pc.2ch.net/test/read.cgi/php/1009331505/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
過去ログ、その他の役立ち情報は>>2-10を見よう。
0039わかりません
02/02/27 11:33ID:/Q61BdR8@photo_urls=("$i_photo_url1","$i_photo_url2","$i_photo_url3");
foreach(@photo_urls){
if($_ ne ''){
if($_ =~ /^http.*jpg$/){
$i_comment = "$i_comment<br><IMG src=\"$_\">";
}else{
&print_error("写真URLの入力が正しくありません。注意&解説を参照して確かめてください。<br>Macintosh環境でも拡張子(.jpg)をつけて下さい。");
}
すみません。
↑ここらへんで拡張子JPGだけしか選べなくなってるのを、gifも選べるようにしてあげたいんですが、
どうしたらいいですか?つまり、JPGとGIFを認めてあげたいんですが・・・。
エラーばっかりでわけわかめです。
誰か教えて下さい。お願いします。
0040名無しさん@お腹いっぱい。
02/02/27 11:35ID:???スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
0041わかりません
02/02/27 12:00ID:/Q61BdR80042名無しさん@お腹いっぱい。
02/02/27 12:47ID:Sg/A5twOhttp://www.e-words.ne.jp/
にあるような、先頭文字での見出し(A B C D ・・・)による
検索ってどのようにするのでしょうか?
もしかしてログファイルに先頭の文字をひとつずつ
手動入力しなくてはならないのでしょうか・・・
0043名無しさん@お腹いっぱい。
02/02/27 12:50ID:???$sata =~ /^$sentou/;
0044名無しさん@お腹いっぱい。
02/02/27 13:45ID:???お、私も一瞬悩みました。
で、カレントディレクトリが変更されてるんじゃないかと思って、
perldoc File::Find してみたら、その通りだそうです。
You are chdir()'d to $File::Find::dir when the function is called.
だってー。
004538
02/02/27 17:02ID:???ああああ、やっぱり大ポカだった(笑)。
open(IN, $_) or die;
に変えたらサクッと動きました。ありがとー! 一生恩に来ます。
004642
02/02/27 17:43ID:Sg/A5twOやはり手動入力が一番速いのかな、、、
0047
02/02/27 23:55ID:KPo4U5H6JAVAスクリプト、JAVAをOFFにしてアクセスした人に、
「JAVAをONにしてください」と表示して、
アクセスさせないためのス8クリプトを、教えてください。
よろしくおねがいします。
0048名無しさん@お腹いっぱい。
02/02/27 23:56ID:???<NOSCRIPT>Java on plz</NOSCRIPT>
004947
02/02/28 00:04ID:Xg1/i20oええと、
JAVA SCRIPTの場合はどうなるのでしょうか?
ありがとうございます。
それと、
「JAVA、(スクリプト)をONにしてください」
と表示させたいのですが、どうしたらよいでしょうか?
掲示板にその機能を追加するには、サブルーチンにすればよいのでしょうか?
どうもありがとうございます!
0050名無しさん@お腹いっぱい。
02/02/28 00:06ID:???あんた、CGI組んだこと無いだろ。
もしかしたらHTML書いたこと無いだろ。
0051
02/02/28 00:12ID:Xg1/i20ohtmlで、それを表示させるように書いたあと、
そのあと、JAVA OFF で相手を飛ばした時にどうしたらよいのでしょうか・・。
0052名無しさん@お腹いっぱい。
02/02/28 00:13ID:???CGIわかってない奴には説明が出来ない。
意地悪ではなく必然的に。
0053名無しさん@お腹いっぱい。
02/02/28 00:18ID:Xg1/i20oそれでは最後に、コンパイルの遣り方を教えてください・・。
JAVAのソフトをダウンロードして設置する事は、
「JAVAを理解していないけど、CGI、PERLは完全に理解している」
人には可能でしょうか?
コンパイルは、コンパイラを使うだけなので、
JAVAを解っていなくても出来るでしょうか?
(PERLとかを理解していればです。)
よろしくご回答お願いします。
レス感謝であります。
0054名無しさん@お腹いっぱい。
02/02/28 00:19ID:???何を訳のわからんことを・・・。
0055エフェドリンながヰ
02/02/28 00:21ID:lx9+LUUJhttp://www.puchiwara.com/hacking/
韓国バージョンも出るらしいし。
0056名無しさん@お腹いっぱい。
02/02/28 00:23ID:Xg1/i20oJAVAアプレットのソフトを設置するのに、
「コンパイル」という作業があった時に、
JAVAを理解していない人(但しPERLなどは理解している)に、
設置は可能でしょうか?ということです。;
宜しくお願いします。
0057手まん
02/02/28 00:25ID:micBAvGr使えるモジュール調べるにはどうしたらいい?
一覧とかだせんかね?
0058名無しさん@お腹いっぱい。
02/02/28 00:26ID:???0059名無しさん@お腹いっぱい。
02/02/28 00:26ID:???はぁ。。。
0060手まん
02/02/28 00:27ID:micBAvGrいくらなんでも、そのくらい出来るべ、
アップレットだろ、変わったクラス使ってないだろ、
サーブレットになると、色々めんどいけどな、
0061名無しさん@お腹いっぱい。
02/02/28 00:27ID:Xg1/i20oJAVAアプレットのプログラムをコンパイルして設置する時、
JAVAアプレットを理解していない人に設置は可能なのでしょうか?
よろしくおねがいします。
0062手まん
02/02/28 00:29ID:micBAvGrだいジョブ、できる、できる、
問題無い、
駄目だったら、漏れがやってやる、
金取るけど、
時給1万だけどな
0063名無しさん@お腹いっぱい。
02/02/28 00:29ID:???=日本語を理解出来ていませんが私は手紙を出せるでしょうか?
0064
02/02/28 00:30ID:Xg1/i20oついでに、掲示板のソースから、
JAVAアプレットの仕掛けがあることを解らないように隠すには、
どうしたらよいのでしょうか?
宜しくお願いします。
0065名無しさん@お腹いっぱい。
02/02/28 00:31ID:Xg1/i20o手紙は、日本語じゃなくても出せますよね・・説明お願いします。
自給1万ですか・・。
全部込みで5000円ならどうでしょう。
0066名無しさん@お腹いっぱい。
02/02/28 00:32ID:???0067名無しさん@お腹いっぱい。
02/02/28 00:32ID:???前来たIPアドレス抜き野郎か。
みんな放置。さんざん荒らしやがって。
なんかレベルの低いのが混ざってると思ったらあいつだったか。
0068名無しさん@お腹いっぱい。
02/02/28 00:34ID:???http://sound.jp/jun88/java/myjjava.html
の「強制ジャンプ」がいんじゃない?JavaスクリプトがONの人だけ、
どっかのページにジャンプできる。
Offの人は、そのページに取り残されたまま。
次に、JavaがONの人だけ飛ばしたい場合は、
強制ジャンプするアプレットを貼っとけばいんじゃない?
JavaがOffの人は、そのページに取り残される。
組み合わせるってーと、Javaスクリプトで強制ジャンプするアプレットの
タグを出力すればいんじゃないでしょうか。
0069名無しさん@お腹いっぱい。
02/02/28 00:35ID:???放置ですよ。
0071名無しさん@お腹いっぱい。
02/02/28 00:39ID:Xg1/i20o0072名無しさん@お腹いっぱい。
02/02/28 00:40ID:???@INCを順番に readdirで見ていくとか。
File::Findとかモジュール使えばもっと簡単にできるかも。
0073手まん
02/02/28 00:46ID:micBAvGrもよろしく頼むよ。
しっかしここ、すっげぇ〜イキヨイであがってくなぁ〜
まだまだPerlの需要ってあるみたいだなぁ〜
0074名無しさん@お腹いっぱい。
02/02/28 01:01ID:???>イキヨイ
勢い。
>まだまだPerlの需要ってあるみたいだなぁ〜
その通り。
0076名無しさん@お腹いっぱい。
02/02/28 02:38ID:???正規表現の入門にもちょうど良いわい。
0077名無しさん@お腹いっぱい。
02/02/28 09:55ID:???RE-C(正規表現C)が出たら迷わず乗り換えるw。
0078名無し
02/02/28 18:12ID:SOksZdMX書き込むルーチンみたいなのが分からないので誰か教えてください。
0079名無しさん@お腹いっぱい。
02/02/28 18:13ID:???それを考えるのがおもしろい。
0080名無し
02/02/28 18:17ID:SOksZdMXマジレス希望。
0081名無しさん@お腹いっぱい。
02/02/28 18:18ID:???マジレスじゃん。
0082名無し
02/02/28 18:28ID:SOksZdMX掲示板作りたいので
内容をログファイルに書き込む
ルーチン教えてください。
0083名無しさん@お腹いっぱい。
02/02/28 18:34ID:???ファイルにログを書き込む
ファイルを閉じる
0084名無しさん@お腹いっぱい。
02/02/28 18:37ID:???BBS Re-Designっていい本が出てる、読む。買って。
0085名無し
02/02/28 20:26ID:SOksZdMX買えるほど金無いです。
0086名無しさん@お腹いっぱい。
02/02/28 20:28ID:???0087名無しさん@お腹いっぱい。
02/02/28 20:28ID:???で、>>83じゃだめなの?
0088名無しさん@お腹いっぱい。
02/02/28 20:30ID:???ファイルを操作するにはどうしたらいいんですか?
ソースで教えてほしいのですが。
0090名無しさん@お腹いっぱい。
02/02/28 20:34ID:???もう一度>>1を読んできなさい。
0091名無しさん@お腹いっぱい。
02/02/28 20:35ID:???いい人過ぎ。
0092名無しさん@お腹いっぱい。
02/03/01 00:20ID:X6rC0lr1モジュールとかインストールしないで
さくっと転送するにはどんな方法がありますか?
どれも結構ややこしそうで挫折しかかってます…
0093名無しさん@お腹いっぱい。
02/03/01 00:35ID:???formのほうに
<form enctype="multipart/form-data" method="POST" action="ほげ">
って書いて、CGIのほうは標準入力から読み込むだけだよ。
0094名無しさん@お腹いっぱい。
02/03/01 00:38ID:???FTP。
フォーム使ったアップロードならRFC読んで自分でデータ切り分けたりしないと
いけないから,素直にモジュール使っちゃえば?
0095名無しさん@お腹いっぱい。
02/03/01 00:55ID:DUUG9VQmさっぱりわかりません。dbmopen だと(これも使ったことないんで
よくわかりませんが)
#%hash は定義済みとして
dbmopen(%hash, "data_base", 0644);
while (($key, $value) = each %hash) {
$hash{"$key"} = $value;
}
close(%hash);
こんな感じで外部ファイル化したいんですが、tie の場合、どういうふうに
書けばいいんでしょうか?
0096名無しさん@お腹いっぱい。
02/03/01 03:45ID:uLWuBwxzuse AnyDBM_File ;
$db_flag = O_RDONLY ;
tie ( %hash , 'AnyDBM_Files' , 'database' , $flags , 0644 ) ;
while ( ( $key , $value ) = each ( %hash ) ) {
push @array , "$key\t$value" ;
}
untie ( %hash );
こんな感じ。tieもdbmopenもほとんど変わらない。
使い方はgoogleででも検索したらいっぱい出てくると思う。
もし、tieでもうまく行かないのならそのコードが変。
特に$hash{"$key"} = $value; の部分が怪しい。
仮に書いただけにしても、意味のあるコード書くのが普通と思われ。
009795
02/03/01 09:30ID:dR5S0Mwbおかげ様でうまくいきました。実は質問する前に丸一日googleで色々
調べて見よう見まねでやってたんですが、use Fcntl;が抜けてたせいで
うまくいかなかったようです。
ありがとうございました。
0098名無しさん@お腹いっぱい。
02/03/01 12:49ID:???世の中何でもPerlでやればいいと思ってしまう罠。
例えばエディタの置換機能を忘れていて
s/<td><\/td>/<td>a<\/d>/g;
してしまう罠。
009992
02/03/01 23:43ID:X6rC0lr1素直に使っちゃいたい、んですが、
モジュールのインストールが不可能なので無理です…。
現在、どっかのアップロード式BBSから切り出す方向で検討しています。
jcode.plみたいな引数渡したら勝手にやってくれる
ライブラリがあればいいんだけど、ないよなぁ…。
0100名無しさん@お腹いっぱい。
02/03/01 23:48ID:???0102名無しさん@お腹いっぱい。
02/03/02 00:17ID:???cgi-lib.plはイヤ?
0103名無しさん@お腹いっぱい。
02/03/02 00:21ID:7JCmBc0Wたとえば
・文字列を複数行として扱う
・大文字、小文字を区別しないで検索
の場合
変数 =~ /文字列/i/m;
でOKでしょうか?
0104名無しさん@お腹いっぱい。
02/03/02 00:24ID:???/〜/im;
0105名無しさん@お腹いっぱい。
02/03/02 00:29ID:7JCmBc0W0106nobodyさん
02/03/02 02:34ID:Lu4QyfYXしたけど、見つけられんかった。
0107nobodyさん
02/03/02 02:39ID:???もしかしたらモジュールであるのかもしれないけど、
http://www.google.com/search?hl=ja&q=perl%82%C5ftp&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
とりあえずどんぞ。
0108nobodyさん
02/03/02 06:20ID:LaOqrqUmただし『+』『-』『=』『!』『?』は使えるようにしたいです。
if ($password =~ /\W/) {}などとすると全部のメタ文字にマッチしてしまうの
で、どうにかしたいのですが、良い方法が思い付きません。[^\+\=\-\!\?]辺り
で試してるんですが、どうもうまく行かなくって・・・。
0110nobodyさん
02/03/02 07:42ID:???sub test {
print $x;
}
ここで"aaa"を$xに入れるには
$x = $_[0];
としないと駄目でしょうか?
sub test($x : $_[0]){}のように変数名を指定したいのです
0111nobodyさん
02/03/02 08:02ID:???> $x = $_[0]
そのようにして下さい。お好みで $x = shift;
引数を保証したいならプロトタイプ。
0112110
02/03/02 08:29ID:???$x = $_[0]; でいくことにします。
0113nobodyさん
02/03/02 08:53ID:???0114nobodyさん
02/03/02 10:08ID:???ハッシュを使う
$hiki{'x'} = 'aaa';
&test(\%hiki);
sub test{
%hiki = %$_[0];
print $hiki{'x'};
}
0116名無し
02/03/02 14:46ID:FrK2+WoO同意。
114のやり方だと容量増えるだけだと思われ。
0117nobodyさん
02/03/02 15:43ID:???sub x
{
%arg = @_;
print "$arg{a}\n";
print "$arg{b}\n";
}
x(a => 10, b => 100);
0120nobodyさん
02/03/02 16:18ID:???いや、厨房質問くさいんだけど、
再帰って
sub x
{
my($hh) = @_;
if($hh != 0)
{
return &x($hh - 1) * 2;
}
else
{
return 1;
}
じゃないの?}
0121川o・-・)
02/03/02 17:44ID:BzlXRQCM>>110 は「複数ある、それぞれが省略可能な引数を渡したいので、呼び出し元で名
前をつけたいんだが、どうすればいいわけ?」と聞きたいのだと思う。で、回
答は>>114と>>117で。
>>113 できます
>>114 どうせコピーするならリファレンスじゃなくていいんじゃない。
で、サブルーチン内で引数を書き換えないのなら、
コピーせずに$hiki->{x}でいいね。
>>115 110の問題を解決しているわけだが、、、
>>116 猫の額程度の容量を気にしてどうする、、、
>>117 保守的なコピーが必要ならこれで
>>118 「再帰」を勉強しましょう
>>119 プロトタイプ宣言の恩恵を受けるには呼び出しより前に書かなきゃね
>>120 正解
012392
02/03/02 19:41ID:???イヤじゃないです。迷ってます。
CGI.pmはでかくて評判悪いので、
CGI_Lite.pmかcgi-lib.plを使おうと思ってるんですが、
どっちを使おうかなぁと…。
実際問題、この二つってどう違うんですか?
もちろん全然違うプログラムってのはわかってるんですが、
用途が似てるから…。
012492
02/03/02 19:43ID:???CGI.pmもcgi-libも使わずにアップロードできるスクリプト。
http://tohoho.wakusei.ne.jp/cgi/wwwupl2.txt
ちなみにとほほ氏謹製です(w
0125nobodyさん
02/03/02 19:43ID:???0127nobodyさん
02/03/02 20:39ID:???ファイルのどこにヘッダーがあるのかわからん。。
0129nobodyさん
02/03/02 21:06ID:MILA+IA2単に生URL見せたく無いだけなんで、
簡単なロジックで、encode,decode出来ればいんすけど、
どでしょ?
0131115
02/03/02 21:18ID:???他の言語みたく
void Hoge (int n) {}
って渡し方が出来るかってことじゃねーの?
だからハッシュでってのは見当違いかなと。
まぁいいけどさ。
0135asahi
02/03/02 22:15ID:???あぷろだでアップ時の残り時間を
表示させるのにはどうすればよいのでしょうか?
スレ違いだったならごめんなさい
0137nobodyさん
02/03/02 22:18ID:???適当なところに以下の文を追加
print scalar localtime;
これで分からなきゃCGI改造スレ行け。
その際はそのアップローダのソースをどこかに上げろよ。
0138137
02/03/02 22:19ID:???残り時間はサーバー側じゃ無理だわな。
0139nobodyさん
02/03/02 22:30ID:???から無理じゃないっしょ?
■ このスレッドは過去ログ倉庫に格納されています