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

【Perl】初心者コーナー Part15

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

1:自分はこう言う事がしたい。
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あたりを見よう。
0367nobodyさん02/08/24 22:19ID:???
@listに123,456,789が代入されているとき
@listから456を取り除いて、

print "@list";
で123,789にするにはどうすれば良いのでしょうか。
0368nobodyさん02/08/24 22:27ID:???
>>367
@po=(123,345,234);
@po=($po[0],$po[2]);
print @po;
0369 ◆JAPH9PWA 02/08/24 22:38ID:???
>>367
配列のindex Nの要素を取り除きたいのか、
値Xを持つ要素を取り除きたいのかで全然違うよ

# 前者
my $N = 1;
splice @list, $N, 1;

# 後者
$X = 456;
@list = grep { $X != $_ } @list;
037036702/08/24 22:52ID:???
すみません。初心者なんで良く分からないんですが、
変数に入っている文字列から指定した文字列を消去したいんです。
正直、@でも$でも構いません。
0371nobodyさん02/08/24 23:02ID:zQgcBRyf
文字をバイナリでファイルに書き出したいのですが
方法を教えて頂けないでしょうか?
例えば

$val="65";

の場合 $val をファイル、もしくは標準出力に書き出すと
文字の 65(バイナリでは 0x36 と 0x35) がファイルに書かれますが
バイナリで 65(0x41) を書き出したいのです。
pack,unpack も試しましたが文字のままでした。(;´Д`)

先ほど始めて使ったので調べていない点が
あるかもしれませんが宜しくお願いいたします。
0372ん?02/08/24 23:02ID:???
$hoge = '123456789';
$hoge =~ s/456//;

本買えよー
037336702/08/24 23:04ID:???
>>372
激しくありがとうございました...
0374こんなのしか思いつかん02/08/24 23:05ID:???
$hoge = '65';
$hoge =~ s/(.)/sprintf("\\x%02X",ord $1)/eg;

unpackは使いづらいから嫌い
0375nobodyさん02/08/24 23:28ID:zQgcBRyf
>>374
即レスありがとうございます。早速試してみましたところ

\x36\x35

と表示されました。
実はこの出力が欲しかったのではなく
バイナリエディタで見た場合に 0x41 と表示される
出力が欲しかったのです。

入力ファイル内容 が ABC の場合に
出力ファイル内容が 16 進バイナリで 41 42 43 であって欲しいのです。
エディタで開くと謎の文字が表示されるアレです。

私の説明が悪く申し訳ありません。

何に使うかと言いますと
ジャンクハードの FlashROM 内容をダンプした物を
文字列整形後バイナリデータに変換し逆アセンブルしたいのです。

他に方法がありましたら宜しくお願い致します。
0376nobodyさん02/08/24 23:57ID:Us3nZQzg
文字列の中から指定した文字の個数を調べるにはどうすればいいのでしょうか?
0377nobodyさん02/08/25 00:12ID:EOslaqTi
>>376
$count++ while($hoge =~ /$page/g);
0378nobodyさん02/08/25 00:15ID:???
>>375
chr
0379nobodyさん02/08/25 00:20ID:???
>>371
print chr(65);
0380nobodyさん02/08/25 00:24ID:???
>>378

(・∀・)ソレダ!!
どうも一般的な関数みたいですね。
大変助かりました。
ありがとうございます。
0381nobodyさん02/08/25 00:26ID:???
>>379
書込みタイミングがずれてしまいました。
どうもありがとうございます。
これから実装してみます。
0382 ◆JAPH9PWA 02/08/25 09:13ID:???
いや、普通はpack/unpackを使うと思うんだけど
print pack "C*", 65, 66, 67;
0383nobodyさん02/08/25 10:13ID:???
おぼえとけよ。お前らのIPは全部保存してあるからな。
いまさら泣いて許しを請うても遅いからな(w
0384nobodyさん02/08/25 10:16ID:???
CGIに依存しない〜は残念だったな(ppp
糞固定どもと成れあっとけや糞虫。
0385nobodyさん02/08/25 11:28ID:???
何か言えよ!
038629902/08/25 16:49ID:???
>>322
返信遅くなってすみません
今から試行錯誤してみます。
アリガトゴザマスタ
0387nobodyさん02/08/26 11:06ID:kuaIpm20
アクセス制限のやり方教えてください。
0388nobodyさん02/08/26 11:27ID:???
>>387
if($ENV{REMOTE_USER}){if($ENV{REMOTE_USER} eq $dqn_user){print "Location: $url"}}
elsif($ENV{REMOTE_HOST} eq $dqn_host){print "Location: $url"}
でいいの?
0389nobodyさん02/08/26 11:32ID:???
proxyかけてるやつの制限ってどうやるの?
教えてー
0390他にも方法はあるだろうけど…02/08/26 12:26ID:???
>>389
] あなたは Proxy を利用していますか?
]
]   はい、利用しています (→Yahoo! へのリンク)
]   いいえ、利用していません (→トップページへのリンク)

こんな感じのページを置いておく。
0391nobodyさん02/08/26 12:40ID:???
>>388
ダメだ
0392nobodyさん02/08/26 13:09ID:???
>>388
?
0393nobodyさん02/08/26 13:36ID:???
>>391
じゃぁ .htaccess でも池
http://pc.2ch.net/test/read.cgi/php/1019888234/l50
0394nobodyさん02/08/26 13:58ID:???
>>387
同時アクセス数とか、転送バイトとかか?>>389か?
039539102/08/26 14:21ID:???
>>393
オレじゃねーよ、ボケ!
0396nobodyさん02/08/26 15:38ID:IyYWB8TD
kent-webのアップロード式掲示板のやつで
着メロをうpできるようにするにはどうすればいいんですか?
0397nobodyさん02/08/26 17:40ID:AuEFFmIZ
perlの勉強始めたばかりの超初心者です。

色々な人のソースを参考に本を片手にCGIスクリプトを書いているのだけど、
http://www.kent-web.com/utility/index.htmlのPerl Checkerで
自分の書いたスクリプトをチェックすると、

Missing right bracket at regist.cgi line 270, at end of line
syntax error at regist.cgi line 270, at EOF
regist.cgi had compilation errors.

って、エラーがでます。

実際の270行目って、スクリプトの終わりで何も書いてないし、
直前の269行目にはexit;

どこが悪いのかわからないんですけど、わかる人いますか?

おねがいいします。
0398nobodyさん02/08/26 17:50ID:???
>Missing right bracket
右ブラケットが欠けている。
0399nobodyさん02/08/26 18:01ID:???
たいがい、エラー行の前に原因がある。
040029902/08/26 20:06ID:???
>>299ですが
open(LOG,$log);
while(<LOG>){print $table;}
close(LOG);
は
open(LOG,$log);
($date,$no,$sub,$text) = split(/\,/,$_);
$table = join('',@table);
$table =~ s/<text>/$text/g; #$sub等も置き換え
print $table;
close(LOG);
でした

もうだめぽ・・・
0401nobodyさん02/08/26 21:08ID:???
負荷状況を調べたくて
use Benchmark;
を試したいのですが、

Benchmark.pmを同じフォルダーに置いて、コマンドから実行させてみたりしましたが
ダメでした。ご教授して頂けないでしょうか?
040229902/08/26 22:43ID:4fIS3YbU
@header;
@footer;
の中にNEXTがあるので、
print $table; をpush (@txt,$table);
にして

{ここで置き換え処理}
@header;
@txt;
@footer;
にしたのですが、@txtが大きくなると負荷が掛からないかと心配です

ログのサイズは大きくても200kくらいです
0403nobodyさん02/08/26 22:55ID:???
>>401
頼むから、一度くらい検索かけてくれ。
http://www.kt.rim.or.jp/~kbk/perl5.005/perlfaq3.html

>299
質問内容が解りません。ここは日記ではありません。
自分で試せることは試して下さい。
0404nobodyさん02/08/26 23:09ID:???
ファイルのデータを配列にいれるのはどちらの方がいいでしょうか?
他にいい方法はありますか?
1、
@DATA = <DATA>;

2、
while(<DATA>){
push(@DATA, $_);
}
0405nobodyさん02/08/26 23:13ID:???
>>404
1 短くて簡潔な方がイイ。
2 だと @DATA が空である必要があるし、よけいな while を呼び出さなければならないから。
040675702/08/26 23:21ID:???
>>404
データを加工しない限り1以外の方法は使わなくていいんじゃないか。
0407nobodyさん02/08/26 23:22ID:???
757は余計だったな(藁
0408nobodyさん02/08/26 23:29ID:???
ファイルサイズが大きいと1はまずいんでないかい?
0409nobodyさん02/08/26 23:31ID:???
>>408
ファイルサイズがでかけりゃ、1も2もまずいだろうよ・・・
041040402/08/26 23:34ID:???
ありがとうございます。1のほうを使う事にします
0411nobodyさん02/08/27 00:56ID:???
ま、1か2のどちらかしか考えないのじゃなくって
本当にファイルの中身を配列に入れる必要があるのかと
0412nobodyさん02/08/27 02:38ID:???
windows上でjperl使ってて、
Runtime Exceptionって出てperl自体がこけるんだけど、
対処方法がわからない。なんとなく正規表現に負担をかける
処理を多用するとまずい感じ(64k制約の話を聞いたことがあるけど、
漏れの場合、扱ってる個々の文字列の長さはせいぜい2k程度)

だれか教えてちょ。
こける場所は不定。デバッガかませると動作完了したりする
ときもある。
0413nobodyさん02/08/27 06:55ID:???
>>299
そのソースどっかで見たことあるなー
引用してるなら、元サイトのスクリプト見てみたら?

299=404?
0414nobodyさん02/08/27 12:08ID:???
>>412
日本語のページからwindows runtime Exceptionを検索しました。
http://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=windows+runtime+Exception&btnG=Google+%8C%9F%8D%F5&lr=lang_ja

Perl じゃなくて Windows じゃないかしら。マ板かWin板へ。
0415nobodyさん02/08/27 13:09ID:???
ここの掲示板みたいに、プロクシ規制の方法を教えてください。
0416nobodyさん02/08/27 13:56ID:???
Perlの「コーディング」で困ってる人のスレです。
0417nobodyさん02/08/27 15:55ID:???
PNGカウンタを作ってるのですが

<img src="pngcount.cgi?4">
<img src="pngcount.cgi?3">
<img src="pngcount.cgi?2">
<img src="pngcount.cgi?1">

とやると4回も起動することになるので1回にまとめたいのですが

@listにそれぞれの画像のパスが格納されている場合

例:@list = ("./image/0.png","./image/1.png","./image/0.png");

上の場合だと010と表示させたいのですが

foreach $number(@list)

{
open(IMG,"$number") || exit; print "content-type: image/x-png\n\n";
binmode(IMG); binmode(STDOUT); print <IMG>; close(IMG); exit;
}

上のようにやっても1つしか画像が表示されません。
いくつも画像を表示できないのでしょうか?
0418nobodyさん02/08/27 15:59ID:???
猫
0419nobodyさん02/08/27 17:12ID:dvEqdJRZ
i-mode絵文字対応フォームメールを設置したいのですが、
文字化け対策がうまく行きません。
(文字化けする絵文字としない絵文字がある。)
処理をうまくしてる人はどうやってやってます?
0420nobodyさん02/08/27 17:29ID:???
>>419
&#xxx;という形式で送信されるから適切に処理する
0421nobodyさん02/08/27 17:30ID:???
>>417
ヘッダーに空白行(\n\nってとこね)を出力した後には、もうContent-typeとかやってもダメです。
つまり出力できる画像は1つだけです。
042241902/08/27 18:00ID:???
>>420
どうもありがとうございます。文字化けするものと、しないものを一部抜粋しました。
***************************************
NO1   F89F 晴れ    文字化け
NO2   F8A0 曇り    文字化け
NO3   F8A1 雨     大丈夫
NO94  F8FC 車椅子   大丈夫
NO95  F940 新月    文字化け
NO135 F9B0 決定    大丈夫
NO136 F991 黒ハート  文字化け
***************************************
if (!open(OUT,"| $SENDMAIL -t")) { &error('送信できません'); }
print OUT "To: $MAIL_TO\n";
print OUT "From: $WEBMAS\n";
&jis("Subject: $SUBJECT"); print OUT "$msg\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT 'Content-Type: text/plain; charset=iso-2022-jp' . "\n\n";
&jis("$NAME_FROMさんの質問が届きました。"); print OUT "$msg\n";
#絵文字対応
$sjis = '[\x80-\x9F\xE0-\xF7\xFA-\xFC][\x40-\x7E\x80-\xFC]|[\x00-\x7F]|[\xA1-\xDF]';
$emoji = '[\xF8\xF9][\x40-\x7E\x80-\xFC]';
$QUERY{'COM'} =~ s/\G((?:$sjis)*)($emoji)/$1.'&#'.unpack('n',$2).';'/ego;
&jis("--$QUERY{'COM'}"); print OUT "$msg\n";
&jis("▽答えはココから"); print OUT "$msg\n";
&jis("$CGI?M=H&T=$ID_FROM&F=$ID_TO&P=$PASS_TO"); print OUT "$msg\n";
close(OUT);
こんな感じにしたんですけども駄目なんです。
0423nobodyさん02/08/27 23:36ID:???
>>422
http://pc.2ch.net/test/read.cgi/php/1028052835/l50
0424nobodyさん02/08/28 02:34ID:TSMc6GTX
任意の文字列が含まれる1行を抽出し、該当文字列のみを
新しい文字列に置換えるスクリプトを作成したいのですが、わかりません。

下記のメールアドレスで行を取得して、元データ(@old)を
新しいデータ(@new)に置換る(行の置換え)スクリプトを、
上記の様に修正したいのですが・・・。

教えてください。お願い致します。

open(IN,"data/data.csv") or die;
while($line=<IN>){
chomp($line);
if($line =~ $mail){
push(@old,$line);
@tmp1 = "@new";
open(OUT,"+<data/data.csv");
print OUT "@new";
close(OUT);
}
}
close(IN);
0425nobodyさん02/08/28 03:56ID:???
>>424
とりあえず元ソースは全放棄したほうがいいと思った

#置き換え対象文字列
$mail="[email protected]";
#置き換え文字列
$replace="[email protected]";

open(IN,"data/data.csv") or die;
@old=<IN>;
close(IN);

foreach (@old){
s/$mail/$replace/g;
}

open(OUT,">data/data_after.csv") or die;
print OUT @old;
close(OUT);

みたいなのでダメなんすか?って全部書いちゃったよおい。
042642502/08/28 04:06ID:???
どでかい配列作るのが嫌なら(csvファイルが何千行とかなら)
一時ファイル作ったほうがいいね。

open(IN,"data/data.csv") or die;
#一時ファイルを開く
open(OUT,">temp.csv") or die;

while($line=<IN>){
$line=~s/$mail/$replace/g;
print OUT $line;
}

close(OUT);
close(IN);

#一時ファイルを消して、ファイルを置き換える
rename('temp.csv','data/data.csv') or die;

はいオナニー終わり!
0427nobodyさん02/08/28 10:57ID:3EY8gxC5
特定の曜日、日時にコンテンツのhtmlを自動生成したいのですが
来訪者の度にCGIを実行して、時刻をチェックする方法以外ないでしょうか?
この方法だと、来訪者が増えるたびに処理が重くなってしまいます。
0428nobodyさん02/08/28 12:46ID:???
>>427
crontabが使えなければ、それしかないかな。
0429nobodyさん02/08/28 14:24ID:???
>>425
一応、エスケープね。
0430nobodyさん02/08/28 15:34ID:z8uBgDDw
正規表現で、配列を変数展開させたいのですがうまくいきません。
m/^hoge$array[0]hoge/;
↑このように書いても、$array[0]はうまく展開されないんです。
どなたかいい知恵貸してください。
おながいします。
0431nobodyさん02/08/28 16:42ID:???
>>430
正規表現中のブラケット [] は文字クラスを表します。
foreach などで他の変数に代入してから処理する等の回避方法が考えられます。
043243002/08/28 16:48ID:???
>>431
むう、やはり正規表現中で[]を使わないように回避するしかないのですね。
了解しますた!
ありが�d
043343102/08/28 17:11ID:???
>>430
ごめん。
5.003 Build 316
で試したら、それ、多分期待通りに動いた。他の原因があるかも。

@aaa = ("どおして",);
$bbb = "どおしてそんなことすんのー。やめてーなー。ほんとにもー。";
if($bbb =~ /^$aaa[0]/){print "is true$aaa[0]\r\n"}
else{print "is false$aaa[0]\r\n"}
043443002/08/28 18:25ID:???
>>433
すまそ、おっしゃる通りうごきますた。
正規表現を解釈するよりも前に変数展開してるんでしょうね、きっと。
>>430で「うまく展開されない」と書きましたが、別の原因でした……
…………………吊ってくるっす ゴメ
0435nobodyさん02/08/28 18:44ID:???
配列操作に関する質問です

readdirで得たファイルリスト「@datafiles」から
カレントディレクトリやデータファイル以外のファイル名が収まっている要素をspliceしたいのですが
なにかうまい方法は無いでしょうか?

データファイルかどうかは命名規則「/^\d+(dat)$/」で判断したいと思っています
043643502/08/28 19:06ID:???
ちなみにファイルリストを「@filelist」にとっておいて

@datafiles = grep(/^\d+(dat)$/, @filelist);

としてもダメでした
grepの使い方間違ってます?
0437nobodyさん02/08/28 19:37ID:???
/^\d+.dat$/
だったりはしない?
0438結構前スレ888さん02/08/28 19:38ID:99E4DmXW
特定のURL以外から飛んできた人を弾きたのだけど

前教えてもらったのは"特定のURLから飛んできた人を弾く"
if ($ENV{'HTTP_REFERER'} =~ /aaa/) {
print "Location: abab\n\n";
exit;
}
(aaaから来た人をababに飛ばす)
"特定のURL以外から飛んできた人を弾く"を....
0439結構前スレ888さん02/08/28 19:39ID:99E4DmXW
>弾きたのだけど
弾きたいのだけど
044043702/08/28 19:46ID:???
あー。見えにくいかもしれんけど、 dat が拡張子ならピリオド . が必要ってことで。
あと、ファイルテスト演算子 file test operator ってのもあるから。
それで良ければ調べてみるヨロシ
0441nobodyさん02/08/28 19:48ID:???
>>438-439
何?
0442結構前スレ888さん02/08/28 19:56ID:99E4DmXW
>>441
つまり外部リンクできた人を弾きたいと(.cgiに)
0443nobodyさん02/08/28 20:25ID:???
>442
else か not か !
0444結構前スレ888さん02/08/28 20:44ID:99E4DmXW
notかな
0445nobodyさん02/08/28 20:52ID:???
unless
044643502/08/28 21:03ID:???
>437
そうでした・・・穴掘って埋まってきます・・・
0447nobodyさん02/08/28 21:22ID:???
>>414
PerlがRuntime exceptionでこける事例は、例えば
NamazuのBBS

WinNTでNamazuが落ちる事例
http://search.namazu.org/ml/namazu-users-ja/msg00011.html
当たりでやりとりがあります。

ただ、あまりはっきりした解決方法はでてきませんでした。
このやりとりの中で触れられている正規表現の処理に関する問題が
>>412で書いたマッチ64K制限は、確かActivePerlのサイトあたりに
あったことです。

Perlのversionを上げるもしくはUnix系OSの上で処理をするか
いずれかができればいいのですが(普段はそうしてます)、
この件に関してはちょっとそのへんの変更が難しいもんで。

ちなみにperl Runtime exceptionでぐぐるとかなりたくさん
Active Perlのこの問題はでてきます。
044841402/08/28 21:38ID:???
>>447
いや、板違いってゆうのは撤回しますが、結局 ゲイツ が悪いんでしょ?
えーと、現在のところ、どうも原因不明の様ですし、初心者向けの話題でもないようですから。
Active Perl + Win の新スレ立ててみたらどうでしょうか。
0449437じゃないけど02/08/28 22:28ID:???
>>446

ピリオドをエスケープしないと意図しないファイルも引っ掛かります。

/^\d \.dat$/
0450437じゃないけど02/08/28 22:29ID:???
↑プラスがスペースに変換されてます。
0451nobodyさん02/08/29 02:33ID:r6Il9+nb
MySQLでフランス語のデータを管理してるんですが、SELECT文
でのアクセント付き記号の扱いに困っています。

例えば、&egarve;を入力して、&egarve;だけにマッチさせたいんで
すが、&egarve;とeが引っかかってきます。

ご存知のお助けください。
045245102/08/29 02:36ID:r6Il9+nb
すんません。訂正します。

>例えば、&egarve;を入力して、&egarve;だけにマッチさせたいんで
>すが、&egarve;とeが引っかかってきます。

は

例えば、èを入力して、èだけにマッチさせたいんで
すが、èとeが引っかかってきます。

です。
0453?02/08/29 05:06ID:???
みようみまねでスキンを使った掲示板をいじってるんですが、
スキンから読み込んだのを変換するとき、
$skin =~ s/title<!--s-->/$title/i;
$skin =~ s/***/***/g;
$skin =~ s/***/***/i;
$skin =~ s/***/***/i;
・
・
・
って感じなんですが、

$skin =~ s/title<!--s-->/$title/i;
と打ったところ、一つだけしか「s/title<!--s-->」が
変換されなかったんですね。

で、なんとなく、
$skin =~ s/title<!--s-->/$title/g;
にしてみたら、いけたんでけど・・・

この後ろについてる「i」とか「g」の意味はなんですか?
他にも「s」とかもあったんですが・・・

検索しても見つからないのでお願いします。
0454nobodyさん02/08/29 05:12ID:???
>>452
latinのC0..FFでマッチはらめ?

>>453
>>1
0455nobodyさん02/08/29 07:09ID:???
>>453
検索の仕方を聞いたほうがいいんじゃねーの?
http://www.google.com/search?num=30&hl=ja&inlang=ja&ie=Shift_JIS&newwindow=1&q=%90%B3%8BK%95%5C%8C%BB+%8FC%8F%FC%8Eq&lr=lang_ja
045648202/08/29 07:41ID:8thG1OyK
http://ascii.room.ne.jp/~puchico/gokuaku.html
( ´,_ゝ`)誰かここのパスワード解いて教えろ
オエの知識じゃわ が ん ね !!
0457nobodyさん02/08/29 10:53ID:???
匸0 ゚д゚)マルチ氏ね
http://pc.2ch.net/test/read.cgi/hack/997452913/101
0458?02/08/29 14:55ID:???
>>455
有難うございます。
つまり、
iは「大文字小文字を区別しない」で、
gは、「全体から探す」ってことで、
oは、「変数を1度しか展開しない」ってことなんですね

で、もう一つ疑問が・・・
=~ /***/ や
=~ m/***/ は解ったんですが、
=~ s/***/ の説明がないんですよ・・・

「m」が「/」以外のディリミタを使えるようにするためのものですよね?
同じ意味なのでしょうか?
違ったら、この「m」とか「s」入る場所?の名称なんかを教えて頂けないでしょうか?
検索すら出来ない状況なので・・・ホントすいません。
0459nobodyさん02/08/29 15:00ID:???
CGI、とくにFormまわりの質問なのでスレ違いかもしれませんが

@dataにテキストファイル(S-JIS)から文字列を読み込んで
「print "<TEXTAREA name=\"text\" cols=\"80\" rows=\"16\">@data</TEXTAREA>";」
としたときに、なぜか@dataの2行目以降行頭に半角スペースが入ってしまいます

おかしいな、と思って「print @data;」してみても
行頭に半角スペースが入っている事はありませんでした

改行コードの問題かと思いforeachで「$_ =~ s/\r\n/\n/g;」としても状況に変化がありません


IE,NN共に同じ症状を確認しているのですが
これはHTML、あるいはブラウザの問題なのか、Perl側の問題なのか
どうやって回避したらいいんでしょうか?
046029202/08/29 15:01ID:???
$XXX =~ s/Z/A/;
$XXXに入ってる「Z」を「A」に書きかえる。(最初に見つかったやつだけ)

$XXX =~ s/Z/A/g;
$XXXに入ってる「Z」を「A」に書きかえる。(すべて)

$XXX =~ s/Z/A/i;
$XXXに入ってる「Z,z」を「A」に書きかえる。(大文字小文字を区別しない)
0461_02/08/29 15:02ID:???
>>459
変数展開を調べること
046229202/08/29 15:03ID:???
>>459
HTMLソースを見ても半角スペース入ってるのか?
046345902/08/29 15:06ID:???
>461
テキストデータには展開される可能性がある文字列はありませんでした
・・・そういう意味じゃないのかな

>462
はい、TEXTAREAで挟むと半角スペースが現れますが
「print @data;」だとソースでも半角スペースは現れません
0464?02/08/29 15:08ID:???
なるほど!
sが、置き換えるって意味ですか!
ホントおばかでした。
スレ汚しすいませんでした。
皆さん有難うございました!
0465_02/08/29 15:08ID:???
>>463
"@array" と @array の違い(変数展開)を調べること
046645902/08/29 15:17ID:???
>465
うーん、直接その答えにはたどり着けませんでしたが
「print "<TEXTAREA name=\"text\" cols=\"80\" rows=\"16\">" . @data . "</TEXTAREA>";」
とすることで解決しました

ありがとう
■ このスレッドは過去ログ倉庫に格納されています