【Perl】初心者コーナー Part18
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/11/20 22:04ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 8
http://pc.2ch.net/test/read.cgi/php/1032704121/
参考書籍の話題は【Perl,CGI】参考書籍 第三版
http://pc.2ch.net/test/read.cgi/php/1030209573/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般/Part2】
http://pc.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は 【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0002nobodyさん
02/11/20 22:05ID:???Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 知らん
Part15 http://pc.2ch.net/test/read.cgi/php/1028816385/
Part16 http://pc.2ch.net/test/read.cgi/php/1032070299/
part17 http://pc.2ch.net/test/read.cgi/php/1034583844/
[ひまぢん氏のミラー]
Part1 http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.html
Part2 http://www.angelfire.com/ak5/2ch-web-program/kako/971817087.html
Part3 http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html
Part4 http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
Part5 http://www.angelfire.com/ak5/2ch-web-program/kako/988728069.html
0003nobodyさん
02/11/20 22:07ID:???とすると表示されますが、
perl -F, -ane 'print @F[4];' kyoto.html.csv
……
perl -F, -ane 'print @F[10];' kyoto.html.csv
は表示されません。perlって●を認識するのでしょうか?
0004nobodyさん <sage>
02/11/20 22:29ID:???●って何よ。
0006前スレ991
02/11/20 22:46ID:/E1Vbwszあと、いきなり出て来て1000取ってすいません・・・。
00087
02/11/21 00:20ID:???0009nobodyさん
02/11/21 00:42ID:???LWP::Simpleモジュールが入っているなら
perldoc lwpcookして出てくる文書読んでみるとやり方出てるよ。
use LWP::Simple;
getstore "http//:www.yahoo.co.jp", "yahoo.html";
みたいな感じ。
0010nobodyさん
02/11/21 00:49ID:izFT1sBO┃ ┃┏━┛ ┗┫┃┃ ┃ ┃┏━┓┃┃┃
┗━┳━ ┃┃ ┗╋┛┏━━━━┓┗━┛┃ ┃┃┃┃
┃ ┃┗━┓ ┏━┛ ┃ ┃ ┃ ┃┃┃┃
┃ ┏━┛┏┓┃ ┃┏┓ ┗━━━━┛┏━━┛ ┃┗┻┛
、 ┃ ┃ ┃┃┃ ┃┃┃ .‘; ゜ ・ ┃ ┃
、 ┃ ┃ ┃┃┃ ┃┃┃ .‘; ゜ ・ ┃ ┃┏┳┓
┗━┛ ” ;┗┛┗━┛┗┛ ノ ┗━━━━┛┗┻┛
∧_∧ ヽ(。、::。.::・'゜・' )〆 .' ,
( ゚∀゚)__ ( 。、 ::。 ).。:: θ) .∴ '
r'⌒ ̄ ̄ ̄ ̄ (。、::。.::・'゜。'゜ )ゝ| ・,‘
|  ̄ ̄ ̄ ̄ ) ヘ( 。、 ::。 )ヽ | | ←>>1
\ │ ’ Υ γ | |
ヽ │ ⊂.J| ) し`⊃ ヾ
( ヽ | || |
\ \\ | |.| |
\ ヽ ヽ ( 丶( \
> ノ ノ \ \\ \
/ /| / ) \. ) \
/ // / (_/ .(_/
/__// /__
〈_ __〉 _ __〉
0011nobodyさん
02/11/21 18:30ID:La3b0kHh例:$#hogehoge
0012nobodyさん
02/11/21 18:52ID:???使えない。
$#hoge は配列 @hoge の最後のインデックス値。
Perl で変数名に使えるのは英数字とアンダーバー。
ただし $ に続く一文字目が数字の場合、
変数名はすべて数字でなくてはならない。
で、あってる?
0015nobodyさん
02/11/22 16:14ID:UpQRYD34"01","09","01","21"
"01090121"
としたいのです。各値は実は日付で整数演算で日付の
更新を行っていますが、更新されたあとの数字を繋げると
"19121"
のように整数2桁にはなりません。
どうしたらよいのでしょうか?
0016nobodyさん
02/11/22 16:40ID:???my @ctg_ids = ();
while (length($ctg_id_) > 1) {
push (@ctg_ids,$ctg_id_);
chop $ctg_id_;
}
------------
$CTG_ID = 'MK0010'
↓
@ctg_ids = (MK0010,MK001,MK00,MK0,MK)
というコードを一行にしてください。
0018nobodyさん
02/11/22 17:11ID:???配列だとしたら、
@array = ("01","09","01","21");
join('', @array);
それ以外なら sprintf で %02d のフォーマットで出力すれば良。
0019nobodyさん
02/11/22 17:28ID:UwQQAcbpわかっているのは現在の西暦と月($nowYear、$nowMon)で、
ユーザーから与えられるのはページ番号($pg)とします。
1ページに 3ヶ月まとめて表示します。
未来については問題ないのですが、過去を表示させようとすると
「/12」でやっているのでマイナス値が出せません。
もっと効率のよい式はないでしょうか?
-------------------------
$nowYear = 2002;
$nowMon = 11;
$pg = 0;
foreach $i ( 0 .. 2 ){
$mon = ($nowMon + $i + $pg * 3) % 12 + 1;
$year = $nowYear + int((($nowMon + $i) + ($pg * 3) -1) / 12);
print "$year / $mon\n";
}
-------------------------
002015
02/11/22 19:48ID:UpQRYD34ありがとう。解決しました。
0021nobodyさん
02/11/22 20:55ID:???my $ctg_id_ = $CTG_ID; my @ctg_ids = (); while (length($ctg_id_) > 1) { push (@ctg_ids,$ctg_id_); chop $ctg_id_; } ------------ $CTG_ID = 'MK0010' ↓ @ctg_ids = (MK0010,MK001,MK00,MK0,MK)
0022rubyist@カラアゲうまうま
02/11/22 20:58ID:???002323
02/11/22 23:11ID:???@data = (taro ,Jiro, Sabro);
@temp = ('$b');
foreach $b(@data){
foreach $c(@temp){
$c =~s/\$(\w+)/${$1}/g;
print $c;
}
}
とやって、ほんとは「taroJiroSabro」と表示したいんですが
「tarotarotaro」となってしまいます。
どうすればいいのでしょう
002423
02/11/22 23:13ID:???@data = (taro ,Jiro, Sabro);
@temp = ('$b');
foreach $b(@data){
foreach $c(@temp){
$c =~s/\$(\w+)/${$1}/g;
print $c;
}
}
とやって、ほんとは「taroJiroSabro」と表示したいんですが
「tarotarotaro」となってしまいます。
どうすればいいのでしょう
0025nobodyさん
02/11/23 00:16ID:TlwVHlkv0027nobodyさん
02/11/23 00:56ID:???$c =~s/\$(\w+)/${$1}/g; は止めて
print eval $c;
なら「taroJiroSabro」になりました。
でもこれって正しいやり方なんですかね
0028nobodyさん
02/11/23 05:29ID:???だとxxx.txtは自動生成されないので直前に
open(F, "xxx.txt");
を入れようとしましたけど、その場合直後でcloseすべきですか?
となるとflockも必要ですか?
ていうか煩雑なのでもっとスマートなやり方はないですか?
003019
02/11/23 10:38ID:???ttp://www.din.or.jp/~ohzaki/perl.htm#Date2WDay
の方法で use Time::Local; することにしました。
003128
02/11/23 13:53ID:???+>>なんて初めて見ますた。
flockを使う上で一番安全ぽいと思われたのでわざわざ+<を使っていたわけですが
+>>てのは具体的にどんな動作するんでしょか。
0032nobodyさん
02/11/23 21:45ID:???CGIで、フォームのデータを%inにしまってあって、
それをJcodeモジュールで片っ端からコード変換したいのですが
全部のキーに対して変換をかけるとエラー吐かれますた…
んで、次にgetcodeでsjis、euc、jisの時のみ変換をかけるようにしたのですが
フォームの中にラジヲボタンとかがあり、配列のリファレンスに対して
getcodeしようとするとエラーを吐かれてしまい、困ってます
全部変換しようとする>エラー
日本語だけ変換>コードをゲトしる>エラー
これ以上おヴァカな自分には対処方が思いつきません、どうか御教授くださいませ…
0033rubyist@カラアゲうまうま
02/11/23 21:49ID:???0034nobodyさん
02/11/23 22:35ID:???ちょっと自分で検証ミスが有ったようで、なんかgetcodeはできるぽでした…
その後の処理が上手くいってないのかもです
[Jcode.pm:575:die] Not a SCALAR reference at C:/Perl/site/lib/Jcode.pm line 575, <DATA> line 1579.
上記のエラーが出てました…
ラジヲボタンのフォームとか場合によってリファレンスだったり普通の値だったりしてわけわかんない・゚・(ノД`)・゚・
0035nobodyさん
02/11/23 22:54ID:zBuUfsU+if (-e $a)
なんですが
ファイルをOpenするとかなりパフォーマンスは悪くなりますよね?
これも悪くなるのでしょうか?
0038nobodyさん
02/11/24 15:36ID:???>>36
cgi-lib.plかなんかを使っているのではないかと想像してみる。
まあ、自分のやったことを全部言わない>>32がアレなんだが。
■ このスレッドは過去ログ倉庫に格納されています