トップページ⇒php
1001コメント343KB

【Perl】初心者コーナー Part13

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/05/30 13:06ID:R2kt1mTx
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

CGIの質問は【CGIだけど、なんか質問ある? part 6】
http://pc.2ch.net/test/read.cgi/php/1019561283/
参考書籍の話題は【【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あたりを見よう。
0079nobodyさん02/06/03 22:22ID:???
>>78
その他→動作環境→編集→文字コードの自動認識をする

サクラエディタでも使ってればぁ?(゚Д゚)
0080nobodyさん02/06/03 22:29ID:???
>>65,66
seek前にtruncateすると、printする前に異常終了した場合データが
吹っ飛ぶんで、print後にtruncateした方が良いと思う。
Cookbookのサンプルもそうなってるし。
seek(FILE,0,0);
print FILE @data;
truncate (FILE, tell(FILE));
close(FILE);
0081ぎもじら02/06/03 23:47ID:???
質問です

ポスグレのDBIいれようとしたら
c:\>ppm install DBI
でインストできちゃった

なんで?
どんな仕組みになってるのかわかりません

ヨロシコ
0082nobodyさん02/06/04 00:13ID:???
http://www.google.co.jp/search?q=%70%70%6D%82%C6%82%CD&hl=ja&lr=
分からない事があったらとりあえず検索するクセつければぁ?(゚Д゚)
0083ぎもじら02/06/04 01:04ID:???
>>82
すばらしい

ようやくPerlからポスグレ操作できるようになりました
あとはC言語から操作汁予定です

0084nobodyさん02/06/04 01:22ID:???
truncateってPerl4で使えないのかよっ!
0085nobodyさん02/06/04 08:43ID:???
奇怪な動作が起こってしまい、困っています。
Perlのバージョンは5.6.1です。
Text::Templateのバージョンは1.43です。

use Text::Template;
$NaviView = 'SHOW';
my $template = new Text::Template (
  'type' => 'FILE',
  'source' => 'test.html'
  ) or die;
print $template -> fill_in();

デスクトップでテストするとHTMLファイル内の{$NaviView}が展開されて表示されます。
しかし、cgi-bin/step8/フォルダ内だと、何故か{$NaviView}の部分が表示されません。
ソースは同じなので、原因がわからずに困っています。
どうか助けてください。
00866602/06/04 09:27ID:b8OuO/Ji
>>80
自分も調べてみたけど、そっちの方が安全性が高いみたいですね。
なんか、処理速度も速いみたいです。どうもです。
0087nobodyさん02/06/04 11:32ID:V54BnlXw
変数$Aの中に、$NO1.$NO2,$NO3・・・ という風に順番に数字を入れて処理を
繰り返したいのですがうまくいきません。どうか助けてください。変数の中に
変数というのは無理なんでしょうか?

for($m=1 ;$m <= 9 ; ++$m){
&print($m);
}
====================
sub print {
my ($i) = @_ ;
$A = "$NO$i";   #←この部分がやりたいことです
print = $A;
}

若輩者ですが、宜しくお願いします。
0088nobodyさん02/06/04 12:45ID:???
>>87
$A = "\$NO$i"; でいいのでは。って、こういうことじゃないのか?
ちなみにforの部分は、漏れはforeach(1..9)と書くのが好き。

0089nobodyさん02/06/04 12:49ID:???
>>87
ソフトリファレンスで $A = ${"NO$i"};
つーかハッシュ使えよ…
00906102/06/04 13:01ID:???
>>63
レスどうもでした。それと遅レスすいませんです。
tmon.outにはBEGINが数万回記録されていたのに、
BEGINにprint文を入れてみたら1回しか出力されなかったので、
DProfのバグということで落ちついてみます。
本当のところは知らないですが。
00918702/06/04 13:09ID:V54BnlXw
>>88さん >>89さん
どうも有難うございました。まだまだ勉強不足ですので頑張ります!
0092nobodyさん02/06/04 13:13ID:???
>88
過去スレで出たんだけど、foreachよりもforの方がいいらしい。
foreach(1..9)だと、@_ = (1,2.3,4,5,6,7,8,9);みたいな一時配列を作ってから処理をするからメモリを食うんだと。
まぁ、この程度の数値なら差はないだろうけど、
for($i=0;$i<10000;$i++)
foreach(0 .. 10000)
くらいになると差が出るんじゃないかな?
00936102/06/04 13:14ID:???
ちょっと追加。。。
#!/usr/bin/perl -w
use strict;
sub LIMIT { 10000 }
for (my $i = 0; $i < LIMIT; $i++) {
}
print "end\n";

このソースで下の測定結果になります。
Total Elapsed Time = 0.019991 Seconds
 User+System Time = 0.019991 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
150.  0.030 0.025 10002  0.0000 0.0000 main::BEGIN
0.00  0.000 -0.000   1  0.0000   - strict::import
0.00  0.000 -0.000   1  0.0000   - strict::bits
0094nobodyさん02/06/04 13:42ID:???
>>92
過去のバージョンでは確かにそうだったが、
5.005の時点で最適化されたため、今や foreach(n .. m) の方が早い。
あやふやな知識は試してみてから外に出そうな。
0095nobodyさん02/06/04 13:52ID:???
>>92
それはPerl4とかの話でしょ。
今はもう一時配列作っていないから心配ないよ。
ちなみに0 .. 10000のほうが速い。ってperlsynに書いてある。
0096nobodyさん02/06/04 13:53ID:???
10分も経っているのにかぶった。スマソ。
0097nobodyさん02/06/04 13:54ID:???
>>93
すまんがわからん。さっぱりわからん。
俺も幾つか試してみたけど、まるで納得いかない結果になったよ。
多分どこかにバグがあるのは間違いないと思う。
0098nobodyさん02/06/04 14:12ID:???
>>93
5.6.0では

Total Elapsed Time = -0.85246 Seconds
User+System Time = 0 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
0.00 0.575 0.105 10001 0.0001 0.0000 main::LIMIT
0.00 0.008 0.008 1 0.0077 0.0076 main::BEGIN
0.00 0.000 -0.000 1 0.0000 - strict::import
0.00 0.000 -0.000 1 0.0000 - strict::bits
Elapsed以外は正しく見えるが...

perltocにdprofpp(utility change)と書いてあるから古いの使ってるんじゃないのか?
00999702/06/04 14:22ID:???
>>98
俺のはPerl5.6.1(ActivePerl631) Devel::Dprof 20000000.00_00 だ。

このコードはどうだろう。
俺の環境では、なぜか use ...; をコメントアウトするとまともに動くのだが。

#!perl -w
use less; # strictとかでも同様。lessを選択したのは何の効果も無いプラグマだから

sub limit{ 100 }
sub LIMIT{ &limit }
for(my $i = 0; $i < LIMIT; $i++){}
0100nobodyさん02/06/04 14:30ID:???
>>97-98
レスどうもです。
ええと、perl -versionは5.6.1だったです。dprofppのバージョンは分かりませんでした。
SerioWare GNU/Linux 0.35A附属のものを使っています。

で、この環境では>>99と少し違って、
ちょうど>>94とかぶってたので、forとforeachを調べてみたら、
#!/usr/bin/perl -w
use strict;
for (my $i = 0; $i < 1000000; $i++) {
}
これだとBEGINは1回呼ばれるだけだったです。
0101nobodyさん02/06/04 14:45ID:???
>94-95
それは知らなかった、サンクス。

もっとも、漏れのプロバのスペースはいまだにPerl4なんだけどな。(涙ッシュ
01029802/06/04 14:50ID:???
>>99
ActivePerl 5.6.1でやってみた。結果は異常。

>>98はFreeBSD上の5.6.0。こいつのdprofppにActivePerlで作ったtmon.outを
食わせてみると、ActivePerlと結果同じ。 Devel::DProfのバグっぽい。
0103nobodyさん02/06/04 16:38ID:???
文字コードがs-jisになっている掲示板はCGIもs-jisで書かれてるんですか?
出力だけs-jisに変換してるんですか?
0104nobodyさん02/06/04 16:44ID:???
http://www.wdic.org/?word=CGI+%3AWDIC
0105nobodyさん02/06/04 17:06ID:???
>>101 そんなISPやめてしまえ。きっとsuidperlの穴放置で特権取れる。
0106nobodyさん02/06/04 20:32ID:???
>>92
しかもfor(my $x; $x < $limit; $x++ ) は本当はwhileだという罠

perl -MO=Deparse,-x3 -e 'for(my $x; $x < 100; $x++){ print "barf\n" }'
my $x;
while( $x < 100 ) {
print "barf\n";
}
continue {
++$x;
}
-e syntax OK
0107nobodyさん02/06/04 20:50ID:???
おまけ。両方ともレキシカル$xを持つようにしてみました:

use Benchmark qw/ cmpthese /;

sub cstyle
{
my $a = 0;
for( my $x = 0; $x < 1000; $x++ ) {
$a++;
}
}

sub pstyle
{
my $a = 0;
for my $x ( 0..999 ) {
$a++;
}
}

cmpthese(
100000,
{
cstyle => \&cstyle,
pstyle => \&pstyle
}
);

Benchmark: timing 100000 iterations of cstyle, pstyle...
cstyle: 95 wallclock secs (94.13 usr + 0.01 sys = 94.14 CPU) @ 1062.25/s (n=100000)
pstyle: 72 wallclock secs (71.58 usr + 0.02 sys = 71.60 CPU) @ 1396.65/s (n=100000)
Rate cstyle pstyle
cstyle 1062/s -- -24%
pstyle 1397/s 31% --
01088502/06/05 09:40ID:???
自己解決しました。
myで宣言してたのがいけなかったようです。
use strictをコメントアウトしたらうまくいきました。
0109nobodyさん02/06/05 09:47ID:???
>>108
おい、どこが"ソースは同じ"だよ…
それじゃ誰もアドバイスできなくて当然だろ!
0110nobodyさん02/06/05 10:03ID:???
perlで、パスワードを入力してログイン、ログアウトする機能は作れますか?クッキー使うんですか?
0111nobodyさん02/06/05 11:42ID:???
>>110
当然作れる。クッキーは使用してもしなくても作れる。
0112nobodyさん02/06/05 13:09ID:???
>>111
ん、じゃあどうやって、その人がログインしているのかどうかを判定するんだろ。。。。
んーーーーーーーー。
0113nobodyさん02/06/05 13:10ID:???
>>112
HTTPベースの技術でログオン、ログアウトの概念って非常に難しいと思われ。
0114nobodyさん02/06/05 14:12ID:O06am5wh
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数:105420人 発行日:2002/05/030
どもども、風薫る5月ワキガも香るひろゆきですー。

今日はどうしても報告したいことがあるですよー。
東京地裁の顔になりつつある今日この頃ですが、最近裁判官がおいらを露骨に馬鹿にするですよー。
裁判を傍聴している人は既にご存知でしょうが、ついこの前は、おいらのことを
「あなたは売春クラブの経営者みたいな言い訳をしますね」
なんて言いやがったですよー。
どうやら売春クラブの経営者は警察に捕まると必ず
「出会いの場を提供しただけだ」
と、見苦しい言い訳をするらしいですよー。。。
そんなセコイ奴等とおいらを並べて語るとは悔しいけど、ストライクですー。。。えぇえぇ、、、

確かにおいらは企業や公人の誹謗中傷を禁止していませんし、削除もしません。
その上、「発信元は判らない」を看板とし、悪質な書き込みをし易い環境を提供し、いやむしろそれを売りにしようと目論んでいますが、そんなことはおいらのクチビルの厚さとは関係ないですよー。。。

ところで、中央大卒のおいらの同級生達がおいらのことを「宅八郎みたいな奴」と罵っているって本当ですか?。。。うぅうぅ、、、

んじゃ!
0115nobodyさん02/06/05 16:42ID:???
jcode.plのコードをコピペして組み込んでもいいですか?
0116nobodyさん02/06/05 16:44ID:???
>>115
ダウンロードする奴の80%に失笑を買われると思うけどね。
0117 02/06/05 19:54ID:???
>>112
中途半端な質問だから一般的な回答をもらったのに、脳内変換するなよ。
ユーザ個別にという前提で聞いてないじゃないだろ。
その場合はユニークなIDとセットで行うのが普通だし、判定なんて
簡単な話じゃないの。
0118nobodyさん02/06/05 21:36ID:6v6pwQwJ
あほな質問かもしれませんが、任意の名前でファイルを作成する
コマンドを教えてもらえないでしょうか?
私の調べた範囲ではわからなかったのでお願いします。
0119 02/06/05 22:02ID:???
open
0120nobodyさん02/06/05 22:02ID:???
>>118
open関数
0121nobodyさん02/06/05 22:03ID:???
ahya.
0122nobodyさん02/06/05 22:16ID:6v6pwQwJ
ついでといってはなんですがidを???にする方法教えてください。
0123nobodyさん02/06/05 22:17ID:???
>>117
もっとわかりやすく言え!
0124nobodyさん02/06/05 22:19ID:???
>122
メール欄にsage
0125nobodyさん02/06/05 22:57ID:???
cgiのソ−スを見られないようにする方法は?
0126nobodyさん02/06/05 23:03ID:???
>>125
見られたの?どうやって?
あまり無駄な心配しないほうがいいですよ。
0127nobodyさん02/06/05 23:06ID:???

>>122 = >>125
0128 02/06/05 23:27ID:???
このたび身の程もわきまえずNTサーバを立ち上げました。
内容は当方のデータベース内にある情報の中で、各人に必要なものを検索し、
見ていただくというものです。
データはCSVファイルになっております。

そこで質問なのですが、たとえばCSVファイルが
1列目はお店の名前
2列目は「とんこつ」または「しょうゆ」または「しお」
3列目はお店の所在地(都道府県)
という具合に記述されているとします。

このとき当サイトを見た人が、チェックボックスの「東京」「とんこつ」
にチェックを入れて検索をかければ該当するお店がHTMLファイルに出力
されるようにしたいのです。

私はまず何から手を付ければよいでしょう?
ちなみに恥ずかしながらプログラミングの知識はほとんどありません。
「そういうプログラムあるよ」とか「まずこの本買って勉強しなさい」とか
何でもいいですから情報をいただけるとありがたいです。
0129nobodyさん02/06/05 23:58ID:???
>>128
レスキューの簡易データベースでも使っちょれ
http://www.rescue.ne.jp/cgi/database/
0130イニシャルN ◆kys8mAGw 02/06/06 00:01ID:???


http://pc.2ch.net/test/read.cgi/prog/1023283683/

から来ました。板違いという指摘があってコチラに誘導させてもらいました。
ここのスレで勉強させてください。
よろしくお願いします。
0131nobodyさん02/06/06 04:26ID:???
>>130
HPBにMe…
キタ━━━━(゚∀゚)━━━━ !!!
で、何を御所望?
まさか、この辺鄙な板の真っ当なスレまでネタスレに!?
0132イニシャルN ◆kys8mAGw 02/06/06 06:41ID:???
>>131 ん・・・
0133イニシャルN ◆kys8mAGw 02/06/06 06:59ID:???
>>131 ビルダーもMeでもないです。
あれは使いまわしなので古い内容ですね。

今はタグ打ち、XPプロフェッショナル/2000/NTの3機の環境です。
あ、自宅はMeですが、、、、

ネタスレ、ネタスレと言いますがネタじゃないです。
まじめに勉強しようと思ってますよ。
今、スレ一覧とかみてよいCGIサイトとか
お気に入りにいれました。参考にさせてもらいました。
ありがとうございます。
頑張って調べてそれでもわからなかったら力添えよろしくお願いします。
失礼します。
0134nobodyさん02/06/06 08:56ID:dEIJexyI
>>125
心配なら、ScriptAliasでdocumentrootの外に置くといいでしょう。
0135nobodyさん02/06/06 15:10ID:???
$a =~ /$b/
↑こんな時、$b をリテラルとして扱う方法ってある?
0136nobodyさん02/06/06 18:08ID:???
>>133
ネタスレと言われるのは、単発で立てたからだろ。
まじめに勉強したいならしばらくは2ch外でお勉強した方がいいと思う。

質問するなら>>1の内容を5回くらい声に出してからしてくれな
0137nobodyさん02/06/06 18:59ID:???
>>135
ハァ?
まさか
$a =~ m'$b';
とか
$a =~ /\$b/;
とかしたいって意味じゃないよな。
そんなのどんなクソな参考書でも絶対載ってるもんな。
もっとちゃんと説明しねーとワケわかんねーよヴォケ、とだけ逝っておく。
0138nobodyさん02/06/06 20:06ID:???
>>136 ハッキリ言って、>>137 みたいな質の低い解答者の答えしか載っていない過去ログなんて価値ねぇよ
0139分かりやすいな。02/06/06 20:48ID:???
>>135=>>138
014013802/06/06 21:23ID:???
>>139 俺は >>135 じゃないけど?

俺が言いたかったのは、たまたま見た >>137 の様な人間がなってないような
解答者しかいねぇなって皮肉ったって事。
0141nobodyさん02/06/06 21:36ID:???
>>140
つまり貴方は
  >>135の方が>>138より人として優れている
と、こういいたいわけだ。
0142nobodyさん02/06/06 21:42ID:???
まぁ、あれだ。井の中の蛙、五十歩百歩
0143nobodyさん02/06/06 21:48ID:???
と、収まったところで次の方どうぞ〜
以下の要点を抑えないとまともに答えてもらえないので注意ですよ。

>>1
> 1:自分はこう言う事がしたい。
> 2:それでこんな風にやってみたが・・・
> 3:それだとこんなエラーが出て上手く行かなかった。

0144nobodyさん02/06/06 22:29ID:???
めちゃめちゃアホくさい質問ですいませーん。

if ($a == 1) { &b }
if ($a == 2) { &b }
if ($a == 4) { &b }

これを短くするにはどうすればいいですか??m(__)m
0145nobodyさん02/06/06 22:38ID:???
>>144
悪いことは言わない、良書買って勉強しろ。

&b if ($a == 1 or $a == 2 or $a == 4);

014614402/06/06 22:42ID:???
>>145さんありがとう!
がんばって勉強しまーす。m(__)m
0147nobodyさん02/06/07 02:26ID:AfwvfL8+
あが
0148nobodyさん02/06/07 04:15ID:IzDclSQv
投稿内容に適度に改行が含まれているかどうか判定する
サブルーチンを作りたいんですが今の知識では書けませんです。
ちなみに仕様上、tableで囲うとかしたくないのです。
ちなみに改行は\rでやっております(どうでもいいですか)。

投稿内容のバイト数をチェックして
その中の\rの数を出して
何文字か毎に割ればいいように思うんですが…
もし良ければ教えてくらさい
0149nobodyさん02/06/07 05:06ID:???
>>148
>適度に改行が含まれている
んなファジーに「適度」いわれてもわからんのじゃゴルア。

tableで囲いたくないつーと、1行の文字数は不定つーことかな?
1行の文字数ってか横幅を固定せずに「適度な改行」を判定するなんてこた、
おそらく不可能だと思うが。もすこし詳しく条件を述べたまへ。
015014802/06/07 05:35ID:IzDclSQv
えと、想定してるイメージなんだけど
改行符(\r)無しで○○文字以上文字が続いていたらエラー、という
式を書きたいわけです。

ちなみにたったいま

$comment =~ s/(.*)\r/$1\r/ig;
$oneline = $1;

return $oneline;

で、$onelineが>100だったらエラー、というのを書いてみたんだけど
上手く機能しませんでした

この100って数字は適当なんでどうでもいいです。
要はこの数字がtableで言うところのwidthの役割にはなるかなと
思ったんですが駄目かなぁ
0151nobodyさん02/06/07 05:43ID:kAPIF1KY
以下の処理を見ていて論理演算子が分からなくなってしまったので教えて下さい。

前提:
4年に一度は閏年
でも100年毎は閏年ではない
ただし400年毎は閏年

@months = ("0", "31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
if (($year%4) == "0" || ($year%100) != "0" && ($year%400) == "0") { $months[2] = "20"; }

三つの式が『||』と『&&』の二つの論理演算子でifの条件文が作られているわけ
ですが、『($year%4) == "0"』と『($year%100) != "0"』と『($year%400) == "0"』の関
係と、その中での『||』と『&&』の関係が知りたいです。

上述のif条件文だとうまく処理されないのに、条件文を
(($year%4) == "0" || ($year%100) != "0" and ($year%400) == "0")
もしくは
((($year%4) == "0" || ($year%100)) != "0" && ($year%400) == "0")

にするとうまくいくんです…。

参考書に書いてある優先順位の意味も分からないし…。

宜しくお願いします。
0152nobodyさん02/06/07 06:04ID:???
>>150
100文字ごとにbr要素ぶちこんで改行するとかでどうじゃろ?
それならPerlメモ(>>3見れ)にある
日本語を特定の長さで折り返す方法が参考になった記憶あり。

>>151
おなじアンド演算でも、
&& と || だったら、&&をに計算、次に||を計算する。
and と || だたら、||が先で、次にandを計算する。
こういうふうに、どっちが先に計算されるかってのが優先順位だよ。
わからなかったらカッコ使え。
0153nobodyさん02/06/07 06:38ID:???
言葉の使い方解らない質問者&解答者多過ぎ。なんで、part13 建ったのか不思議だな。
0154nobodyさん02/06/07 07:17ID:???
>>150
>改行符(\r)無しで○○文字以上文字が続いていたらエラー
簡単に○○バイトで。
print "Error\n" if $comment =~ /[^\r]{10,}/;

嫌なら152の人の示したリンクに飛んでみるとか。
0155nobodyさん02/06/07 09:47ID:???
>>151
もし使えるのだったらDate::Calcを使うべし。もうすでに誰かが
書いてあるものならば素直にそれを使うべし。

使えないのだったらもう少しキレイに書けば問題も自然となくなります。

## 多分 $month, $yearをもってきてその月の日数を出したいのだろう
## と仮定・・・

our @MONTHS = qw/ 0 31 28 31 30 31 30 31 31 30 31 30 31 /;
sub get_max_days
{
my( $year, $month ) = @_;
if( $month == 2 && is_leap_year($year, $month) ) {
return 29;
} else {
return $MONTHS[ $month ];
}
}

sub is_leap_year
{
my( $year, $month ) = @_;

if( $month == 2 && $year % 4 == 0 ) {
if( $year % 100 == 0 ) {
return $year % 400 == 0;
}
return 1;
}
return 0;
}
0156nobodyさん02/06/07 09:54ID:5iJQJUx6
>>154
まあ凝るならchasenを使って文節のきりのいいところで
改行するということで。
0157nobodyさん02/06/07 10:06ID:???
>>151
あと文字列と==を混ぜるのはやめとき。

print "equal!\n" if "a" == "0";

==は数値、eqは文字列。まぁ151のコードだととりあえず関係ないけど。
0158nobodyさん02/06/07 10:55ID:???
>>155
些細なことだが、"閏年かどうか"は
引数の月が二月であるかどうかとは無関係だろ?

ついでだからもっと単純に実装してみる

これは
"yearが4で割り切れる、かつ、$yearが100で割り切れない
 または、$yearが400で割り切れる場合、真を返す"
と読む

sub leap_year
{
my $year = shift;
return $year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0;
}
0159nobodyさん02/06/07 12:47ID:???
>>158
ああ、そういえばそうだった(笑)
0160nobodyさん02/06/07 13:15ID:???
PerlMagickを使ってGIF画像のリサイズをしたいのですが、
コマンドプロンプトからは動作するのに、ブラウザからは
動作しません。

#### ソース ####
sub ImageProcessing {
local($infilename,$outfilename,$width,$height) = @_;

$image = Image::Magick->new;
$image->Read($infilename);
$image->Scale(width=>$width,height=>$height);
$image->Write($outfilename);
}
ソースに問題はないと思いますが、
$image->Read($infilename);
でファイルが読めてないようです。このcgiファイルと同じディレクトリに
読み込む画像があるのですが、エラーでは画像がないと返ってきます。
この問題が分かる方、是非ご教授お願いいたします。

//// 環境 ////
Windows2k
Apache1.3.24
ActivePerl
PerlMagick
0161nobodyさん02/06/07 13:16ID:JHi9xs8B
質問なんですが。
フォームの内容を、フォームとsubmit ボタンを2つづつ使って、
別々のcgiに選んで渡すことはできるんでしょうか?

form1
form2
内容
submit 1
submit 2

みたいな感じで、できるとうれしいのですが。
0162nobodyさん02/06/07 13:19ID:O+HWTyLI
>>161
できるでしょう
0163nobodyさん02/06/07 13:23ID:JHi9xs8B
>>162
name 属性をそれぞれそろえても駄目ですよね?
具体的な方法を教えてもらえると、とてもうれしいです
0164nobodyさん02/06/07 13:26ID:O+HWTyLI
あ、ネストしてるんですね。ごめんなさい、できないっす。
0165nobodyさん02/06/07 13:33ID:???
>161
JavaScript使え。
0166nobodyさん02/06/07 13:36ID:???
>>165
具体的な方法っていってんじゃんよ
0167165ではない02/06/07 13:39ID:???
>>166
何だ、その態度は。
JavaScript なら板違いだ。
016816102/06/07 13:46ID:JHi9xs8B
>>167
いちお言っておきますが。166は私ではありません。念のため・・・。
0169nobodyさん02/06/07 13:54ID:???
>166
>163では>162に対するレスとしてその方法を聞いてるように見えたから>165では>161へのレスとしてああ書いた。
そして>167の言うように板違いだから詳細には触れなかった。
0170nobodyさん02/06/07 13:57ID:???
解答者は人間やり直せ。
0171nobodyさん02/06/07 14:06ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

0172nobodyさん02/06/07 14:07ID:???
>>161 こんな感じ。
確かに板違いだが、今後同じ疑問をもつ人もいるだろうし
ぐちぐちいうぐらいなら、やり方教えてやったほうが早い。

<HTML LANG="ja">
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>

<FORM ACTION="" NAME="MyForm">
<INPUT TYPE="BUTTON" VALUE="送信1" onClick="MyForm.action='hoge.cgi';MyForm.submit();">
<INPUT TYPE="BUTTON" VALUE="送信2" onClick="MyForm.action='fuga.cgi';MyForm.submit();">
</FORM>

</BODY>
</HTML>
017316602/06/07 14:36ID:???
>>167
板の事忘れてたスマソ

でも、それなら質問自体がイタチ害でわ?
0174nobodyさん02/06/07 14:39ID:???
すべての1バイト文字と2バイト文字を配列にしたいんだけどどうすればいいの?
0175nobodyさん02/06/07 15:14ID:???
>173
「Perlでできますか?」と聞いてるから問題はない。
「JavaScriptならできるから、そっちで聞け」と答えているなら、それも間違いではない。
「Perlではできない」とだけ答えるよりむしろ親切。
0176nobodyさん02/06/07 15:17ID:???
>>172 無駄。どうせ、質問者は過去ログなんて見ない。
0177nobodyさん02/06/07 20:59ID:???
>>174

$EUC_JP_ = '[\x00-\x7F]|[\xA1-\xFE][\xA1-\xFE]|\x8E[\xA1-\xFE]|\x8F[\xA1-\xFE][\xA1-\xFE]';
@chars = ($str =~ /($EUC_JP_)/g);

よくわからんがこういうことかな?
0178nobodyさん02/06/07 21:02ID:???
>>174
質問が意味不明です。
だが、とりあえずここ逝け
http://www.din.or.jp/~ohzaki/perl.htm
■ このスレッドは過去ログ倉庫に格納されています