Perl 初心者コーナー Part24
■ このスレッドは過去ログ倉庫に格納されています
0001 ◆fBgbHI04bQ
03/06/07 22:30ID:GbQKLcPE【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
CGIに依存しないPerlの話題一般/Part2
http://pc2.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は、【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
過去ログやお勧めサイトは >>2-10
0042nobodyさん
03/06/08 14:27ID:???0044nobodyさん
03/06/08 14:29ID:???htmlで<などを表示するときに>などを使うから、
タグではなくなるってことか。。。
0046nobodyさん
03/06/08 14:34ID:???$_ =~ s/>/>/g;
$_ =~ s/&/&/g;
$_ =~ s/"/"/g;
なんで、これでできない・・・・・・
ダブルクォーテーションとアンドはできるのに・・・
0047nobodyさん
03/06/08 14:37ID:???前の処理で<にしたものが(ry
0048nobodyさん
03/06/08 14:37ID:???ちゃんと書けないんなら全角にでもしとけ。
0049nobodyさん
03/06/08 14:38ID:???超・初心者な質問だから他へ・・・と思ったらここが初心者スレだった罠。
でも、もう少し頭を使ってくれよ
0051nobodyさん
03/06/08 14:41ID:vz1j93aYWinXP HOME EDITION(←スペルちがってたらすいません)でアクティブパール5.8なんですが、
unlink(<*.txt>)でうまくいかないんですが、Winだからですか?
0052nobodyさん
03/06/08 14:41ID:???# タグを特殊記号に変換
$_ =~ s/&/&amp;/g;
$_ =~ s/</&lt;/g;
$_ =~ s/>/&gt;/g;
$_ =~ s/"/&quot;/g;
print;
}
こんなんでできました。
下3つの順番はどうでもいいですよね?
0053nobodyさん
03/06/08 14:43ID:???こう書くとワイルドカードが使えるようになるの?
005553
03/06/08 14:44ID:???005853
03/06/08 14:50ID:???005951
03/06/08 14:51ID:???フォルダが読み取り専用になってた。
でも、みてみたら、どのフォルダも(PC内)読み取り専用だった・・・。
しかも、解除できない。関係ある?
0060nobodyさん
03/06/08 14:54ID:???006261
03/06/08 15:05ID:???スクリプトは削除対象のファイルと同じディレクトリで実行させてるよね?
006351
03/06/08 15:08ID:???ありがとう。
すごくあふぉなことやってた。↓の階層にファイルあるのに消そうとがんばってた。
消す前に、chdirで移動したら消せた。
お騒がせしてすみませんでした。
0064直リン
03/06/08 15:10ID:+3TQ1ee90065nobodyさん
03/06/08 15:10ID:???0066nobodyさん
03/06/08 17:40ID:???名前#123
↑で123だけ抜き出す方法が知りたいです。
0067nobodyさん
03/06/08 17:54ID:???ここはなんで調べもしないで来る人が多いのか?
初心者だから分からない、ではなくて調べてないから分からない。
って質問ばっかりだぞ。
0072nobodyさん
03/06/08 18:03ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0074nobodyさん
03/06/08 18:09ID:???0075nobodyさん
03/06/08 18:10ID:???自分のサイト作って次はCGIだーって思ってる奴が迷い込んで来るんだよ。
質問者は>>1読まないしね。読んだとしても1行ぐらいじゃないかな。
0076nobodyさん
03/06/08 18:11ID:???split(/#/, $name, 2);にしないと$nameが"名前#12#3"とかなっていたら$tripが"12"になってしまうけどいいの?
0077nobodyさん
03/06/08 18:13ID:???>2:それでこんな風にやってみたが・・・
>3:それだとこんなエラーが出て上手く行かなかった。
これを強制させるのはどうだ?
例えば>>66にこれを書かせると
1:自分はこう言う事がしたい。
2chのトリップみたいのを付けたいです。
2:それでこんな風にやってみたが・・・
何もしてません。
3:それだとこんなエラーが出て上手く行かなかった。
何もしてないのでエラーはありません。
となって、自分で全く調べてないって少しは自覚できるんじゃないかな。
0079nobodyさん
03/06/08 18:16ID:???ここは「Perl初心者」のためのスレだろう。
"努力・常識のかけらも無いアホ"の"質問にすらなっていない独り言"で埋まってしまうのはいかんだろ。
0080nobodyさん
03/06/08 18:17ID:???if($FORM{'FROM'} =~ /([^\#]*)\#(.+)/){
my $main_message = $1;
my $handle_pass = $2;
my $change_salt = substr($handle_pass, , 1) . "H";
$handle_pass = substr(crypt($handle_pass, $change_salt), -8);
if($main_message ne ""){
$FORM{'FROM'} = "$main_message </b>◆$handle_pass <b>";
}else{
$FORM{'FROM'} = "</b> ◆$handle_pass <b>";
}
}
0082nobodyさん
03/06/08 18:20ID:???$sharp = index($name);
$sharp++:
$trip = substr($name,$sharp);
ではダメ?
無駄が多い?
008382
03/06/08 18:22ID:???$sharp = index("$name","#");
$trip = substr($name,$sharp++)
これでいいや;
0084nobodyさん
03/06/08 18:25ID:???0086nobodyさん
03/06/08 18:29ID:???$i=0;
$j=$i++;
としたとき、$iは1になるけど$j=0になることは知っているよね?
もちろんそれでいいならいいんだけど。ただ、あとで$sharpを使わなければ意味ないなぁと思って。
0087nobodyさん
03/06/08 18:33ID:???0088nobodyさん
03/06/08 18:40ID:???008982
03/06/08 18:43ID:???次からとるから+1だったな
0091nobodyさん
03/06/08 18:50ID:???$trip = substr($name,$sharp+1);
#ここでトリップ生成
}
0092nobodyさん
03/06/08 18:52ID:???そりゃできるだろ。
if(($sharp = index($name,'#')>=0){
$trip = substr($name,$sharp++);
#ここでトリップ生成
}
では動かんよ。
0093nobodyさん
03/06/08 18:53ID:???括弧の対応があわないね(汗
if(($sharp = index($name,'#'))>=0){
$trip = substr($name,$sharp+1);
#ここでトリップ生成
}
0095nobodyさん
03/06/08 19:06ID:???0096nobodyさん
03/06/08 19:40ID:???あ、いや、そういうことじゃない。
$trip = substr($name,$sharp+1);
が
$trip = substr($name,$sharp++);
だと動かんでしょ?って>>82に言いたかった。
009982
03/06/08 20:43ID:???ぃやぃや、こちらこそ「は?」
なにを指してるんだこいつは
0101ラヴ
03/06/08 21:07ID:Sf/nGZf1#学籍番号
#氏名
print(" a =?");
chomp( $a = <STDIN>);
print("演算子?");
chomp( $op = <STDIN> );
print(" b = ?");
chomp( $b=<STDIN> );
if($op eq '+') {
$c=$a + $b;
print (" $a + $b = $c\n");
} else {
if($op eq '-'){
$c=$a - $b;
print ("$a - $b = $c\n");
} else {
if($op eq '*'){
$c = $a * $b;
print ("$a * $b = $c\n");
} else {
if($op eq '/'){
$c = $a / $b;
print ("$a / $b = $c\n");
}
}
}
}
のフローチャートはどうやって書いたらいいのでしょう??
0102無料動画直リン
03/06/08 21:10ID:+3TQ1ee90108nobodyさん
03/06/08 22:05ID:???>>80
> &jcode::tr(\$FORM{'FROM'}, '#', '#');
Jcode.pm に入れ替えたらエラーになた。(s/jcode/Jcode/g したあと)
でも、Parse したときに、Shift_JISに変えているんだから、
s/#/#/g; にしちゃった。
0109nobodyさん
03/06/08 22:09ID:???どうすればいいでしょうか?
英数なら大丈夫です。
0110nobodyさん
03/06/08 22:15ID:???0113nobodyさん
03/06/08 22:23ID:???超超超特別サービスでおまいに説教を送ってやろう。
普通は叩かれるだけなのに説教を貰えるとは幸せと思え。
@まずどうやって生成した文字列なのか。
どのような過程を通り、どう言ったアプリケーションで文字列に直しているのか書くべきである。
A
>1:自分はこう言う事がしたい。
>2:それでこんな風にやってみたが・・・
>3:それだとこんなエラーが出て上手く行かなかった。
さらにこのスレのルールとして以上の事を書かねばならない。
B
これ決定的。
スレ違いだから他に行って下さい。
記述やコーティングのスレだから。
0117nobodyさん
03/06/08 22:33ID:???じゃあ、
>>112
> >>111
> あってるよ
合ってないのになんでそういうこと言うの?
$name = "hoge#hage";
$sharp = index("$name","#");
$trip = substr($name,$sharp++) ;
print $trip,"\n";
と
$name = "hoge#hage";
$sharp = index("$name","#");
$trip = substr($name,++$sharp) ;
print $trip,"\n";
の結果比べてご覧。
#なんで切れ気味なの?
011882
03/06/08 22:34ID:???違うねぇ、スマン、見間違えてた
0119nobodyさん
03/06/09 02:42ID:KAhSj8Gh($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$month = ($mon + 1);
if ($sec < 10) { $sec = "0$sec"; }
if ($min < 10) { $min = "0$min"; }
if ($hour < 10) { $hour = "0$hour"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($month < 10) { $month = "0$month"; }
$date = "$month/$mday/$year $hour\:$min\:$sec";
これで実行すると、2003年が103年となってしまいます。
2003年に正しく修正するにはどうしたらいいでしょうか?
0120_
03/06/09 02:54ID:???0121nobodyさん
03/06/09 02:58ID:???0122nobodyさん
03/06/09 03:01ID:???>>119
2003って表示させたいなら
$year += 1900;
下二桁「03」って表示させたいなら
$year = sprintf("%02d",$year%100);
を追加すればいいんでね?
0123nobodyさん
03/06/09 03:09ID:???($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
の$yearは1900年からの経過年数
0124nobodyさん
03/06/09 11:48ID:s9oH3tCTjcode.plを使っていて
WARNING: UtfToLocal: could not convert UTF-8 (0xd6a5). Ignored
というようなエラーが出た方はいらっしゃいませんか?
特にUTFは使っていないのに、必ず出てきてエラーになってしまいます。
ファイルはshift_jisで、それを読み込んでeucに変換しているのですが・・
このエラーはネットで探しても見つからないので
ご存知の方がいらっしゃいましたらよろしくお願いします。
0125nobodyさん
03/06/09 12:41ID:???0127124
03/06/09 12:54ID:s9oH3tCTDBとのコネクト時のことだったみたいです。
申し訳ありありませんでした。
jcode.plにも、そのメソッドを検索して、存在しないから
内部的なものかとおもっていました。
Posgresqlに文字コードをEUCを指定して接続する方法はあるのでしょうか?
DBIを使っています。
interbaseのibperlを使っていた頃は、Charsetでできたのですが・・
0128無料動画直リン
03/06/09 13:10ID:GjkKVS2A0130nobodyさん
03/06/09 14:01ID:QAgTJ6O8安心して24時間お買い物ができる!
セルビデオ店が近くにないお客様も気軽にお買い物を楽しめます。
http://www.net-de-dvd.com/
安心確実
お支払は安心の代金引換です
振り込んだのに商品が届かない等
の心配は無用!
http://www.net-de-dvd.com/
0131nobodyさん
03/06/09 19:15ID:???どちらを使用した方が、処理速度・負荷の面で有利なのでしょうか?
0132nobodyさん
03/06/09 19:26ID:???0133nobodyさん
03/06/09 20:52ID:???$in{id} = 8;
$in{file1name} = "hoge.jpg";
$in{file1name} = "fuga.jpg"
rename($ImageDir.$in{file1name}, $ImageDir."photo1_id".$in{id}."jpg");
rename($ImageDir.$in{file2name}, $ImageDir."photo2_id".$in{id}."jpg");
とやっても、renameされません。
パス付きファイル名をrenameに渡してもダメなのでしょうか?
だとしたら、同じことを実現するにはどうすればいいのでしょうか?
0134nobodyさん
03/06/09 21:32ID:???・ フィアル名が正確かどうかprintで出力して確認
・ エラーがあれば、エラー内容を出力
エラー内容は$!に入ってるので、
rename $file1,$file2 or die "rename Error : $!"; で見てみればいい。
0136nobodyさん
03/06/10 02:08ID:0JHS1DHo半角カナとかの1バイト文字と、1バイト文字も含めた全ての文字列との比較させて、その結果によって処理を振り分けるスクリプトを作りたいんで。
ちょっと説明が難しいんですが、知ってる方いたら教えて下さい。
substrではダメなんです。
0137nobodyさん
03/06/10 03:04ID:???2バイトも一文字として認識してほしいって事?
そんな関数ないっぽいです。
モジュールなら、どこかにあるかも。
極論で言わせてもらえば、jperl使えって事になってくるかな。
0138nobodyさん
03/06/10 03:07ID:???0139nobodyさん
03/06/10 03:16ID:???たぶん極論・・・
って言うか、俺的に極論かな・・・?
日本語文字列で問題がおきてる。
↓
jperl使え。 終了。
これが、黄金パータンでしょ?(w
0140nobodyさん
03/06/10 07:44ID:???sjisじゃできんが(2バイト文字と1バイト文字が重複する)、eucならできる。
perlメモの「日本語を扱う」に書いてある。がいしゅつ
0141nobodyさん
03/06/10 09:10ID:???2:CGI::Sessionモジュールを試用してテスト中、
クライアントからセッションIDを取得できなかった場合のテストをやってみたら...
3:サーバにセッション情報を保持したファイルが残って、更新されることも消えることもなかった。
該当のセッションを使用してのアクセスがないので更新されないのはあたりまえなのですが、
もう使われることのないセッション情報を消す管理用メソッドとかないのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています