【待望】PerlユーザのためのPHP入門
■ このスレッドは過去ログ倉庫に格納されています
0001俺様
03/02/27 15:17ID:tJsRCtRD両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。
0301nobodyさん
03/03/29 18:28ID:???とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
0302phpformperl
03/03/29 20:26ID:kc16+nklやっぱxoopsでっか?
0303nobodyさん
03/03/29 22:26ID:???XOOPSを積極的に弄っている身としては残念なことだが、
決してきれいなコードではないし、流れを追うのも面倒。
過去のしがらみとかあるので大きく変えられないことや、
複数人で作っているが、細かい部分で明確な規定がある訳ではないので
コア、標準モジュール、果ては標準外の勝手モジュールまで入れると
コードの統一はされていないと思っていい。
フレームワークとしては非常に緩いのでモジュールのコードまで
含めるのは本来フェアではないのだが。
あとJpGraphもコードはちょっとね。便利に使わしてもらってますけど。
0304phpfromperl
03/03/30 13:14ID:fNA6Ajxwサンクス
とりあえず手本にさせてもらいます。
いろいろ仕掛けをつけやすそうだし。
ほかよりましなようなので。
0305nobodyさん
03/03/30 21:07ID:???my $num = 0;
return sub {
$num += shift if @_ == 1;
return $num;
}
}
Perlでいう↑みたいなことはPHPではどうやればできますか?
0306nobodyさん
03/03/31 00:21ID:???PHPでFP(関数プログラミング)でもやりたいのかな?
lambda 代わりに create_function,
array_(map|reduce|filter) 後、array_walk, usort。
で、大体御希望の事は出来ると思います。
ただし、…前にも書いたけど &&, || が倫理値を返したり、
…かといって三項演算子を使おうとすると今度は演算子の優先順位が違ったり、
他にも変数のスコープ等、細かな違いがいろいろ有るので、
PHPでのFPはあまりお勧めしない。素直にパラダイムシフトした方が良いと思う。
例えば >305 だと、
function test(){
$num=0;
return create_function('$x','global $num;$num+=$x;return $num;');
}
$num がグローバルに置かれるので、これでは要件を満たせていない。
カプセル化したいのなら、クラスを作る。
class Test{
var $num;
function Test(){ $this->num = 0; }
function add($n){ $this->num += $n; }
function getNum(){ return $this->num; }
}
0307nobodyさん
03/03/31 00:21ID:D273gBu9現行のバージョンのPHPでは、すべてpublicメンバになるので、
$numへ直接アクセスすることが可能。(Perlのオブジェクトでも同様だよね)
現状(PHP4)では、完全に隠蔽することは出来ない。…はず。(PHP暦浅いので自信なし。フォロー求)
# http://www.php.net/ZEND_CHANGES.txt を読んだところ、
# zend2 engine/PHP5? では private が使えるらしい。
0308名無しさん@Emacs
03/03/31 17:22ID:mhlggPCnなんでしょうか?
0309nobodyさん
03/03/31 18:46ID:???0310nobodyさん
03/04/01 02:03ID:???php.net/関数名
pear.php.net/モジュール名
0311nobodyさん
03/04/01 18:35ID:???0312nobodyさん
03/04/01 19:21ID:???訂正 s/イ/言/
0313nobodyさん <>
03/04/01 20:18ID:iGZ3zwAcローカルには作れんもんでしょうか?
ADSL でも結果が出るまでの "待ち" が気になるの。
0314生徒1
03/04/01 23:58ID:2arYjAuZ($name,$value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, "sjis", "", "z");
$value =~ s/&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;
$in{$name} = $value;
}
こんなのはどうやってますか?
0316nobodyさん
03/04/03 16:31ID:???右か左を返すんだよ
0317nobodyさん
03/04/08 14:23ID:???print "-" x 10;
みたいな
0318nobodyさん
03/04/08 15:41ID:???0319nobodyさん
03/04/08 22:26ID:???PHP にあって perl にないもの。
…って何かないかな?
0320nobodyさん
03/04/11 00:44ID:fBEofA1cただPerlと違い,初心者向けの本がPHPにないところが痛いでつが。
0321nobodyさん
03/04/11 00:47ID:???0322nobodyさん
03/04/11 03:50ID:???0323nobodyさん
03/04/12 05:30ID:sfZex8vW私も年寄りですが、Perl、PHPを使ってメシ食ってます。
まったくの初心者が始めるならPHPですね。
HTTPプロトコルをあまり意識する必要がないから、
ブラウザに文字を表示させるのは簡単です。
そのコードも単純明快に理解できます。
一方Perlは、ブラウザに文字を表示させるためには
表示する処理の前に、何行かのおまじないを書かな
ければいけません。
そのおまじないを理解しようとすると、初心者では到底
理解できないので「難しい」ということになるかもしれません。
PHPの本は初心者用がたくさん売られていますよ。
大丈夫です。
0324nobodyさん
03/04/12 06:02ID:???Perl->PHPは入りやすいらしいけど逆は結構厳しい。
ちなみに、私は後者です…。
0325320
03/04/12 22:12ID:3Lo6GhrcThanksです。
PHPだと入門書でいきなりECサイトまで行ってしまうのですが,
(チャット作成までなんとかついていっている程度)
Perlだと入門書で息切れするような。。。(とてもECサイトまでナンテ
行きませんよね?)
ただ,やはりデザなので自分一人でECサイトまではやりません。
外に頼むまでもない事を自分でやれるようにするという感じです。
(極めるという表現が不適切でした。)
データバのソートとか,Webの自動更新とか。
そのあたりでPerlとPHPはどうかな?と思ったわけです。
0326nobodyさん
03/04/13 00:12ID:???これをPHPで表現するとどうなるんですか?
0330nobodyさん
03/04/13 01:12ID:???0331nobodyさん
03/04/13 03:24ID:Ba9KZRzY0333nobodyさん
03/04/14 01:24ID:???僕PHPはじめて1週間だけど配列はだいたい分かったので
配列ですが僕はすぐ理解できたので
331さんの厄介とこが分かれば教えてあげますよ
0336nobodyさん
03/04/14 02:16ID:???禿デゥ
0338nobodyさん
03/04/15 16:55ID:JlWa+G1C0339nobodyさん
03/04/15 18:07ID:???いちいちarray_*系の関数を使わないといけないのも面倒らしい。
0340nobodyさん
03/04/15 19:26ID:1VLAH3ROphpは名前空間を定義できない。
0341山崎渉
03/04/17 12:01ID:???0342山崎渉
03/04/18 15:30ID:???0343山崎渉
03/04/20 06:02ID:???( ^^ )< ぬるぽ(^^)
0344?
03/04/27 10:50ID:7vWz7FBG0345nobodyさん
03/04/27 10:56ID:???0346nobodyさん
03/04/27 11:36ID:aZMHQklXhttp://zoetakami.fc2web.com/
0347( ´Д`)/< 先生!!こんなのが有りますた。
03/04/27 12:27ID:???http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.htm
0348bloom
03/04/27 12:29ID:3nPIuagT0349ワッショイ
03/04/27 17:54ID:???もうひとふんばりっ!
0350nobodyさん
03/04/28 22:57ID:3GKx/vUL0351nobodyさん
03/05/05 22:17ID:LIOD5Ueh0352nobodyさん
03/05/05 22:25ID:???0353nobodyさん
03/05/19 23:33ID:cX3VPQ/6perlで言うところのwarnなんですが、
print error_log($test);
見たいな形でerrorログに$testの値を出そうと思ったのですがうまくいきませんでした。。
どなたかperlでいうところのwarn関数のPHP版を教えてください。
0355あぼーん
NGNG0356nobodyさん
03/05/20 02:27ID:???0357nobodyさん
03/05/20 07:45ID:???インターネット全体からどれだけの犯罪者を出しているんだろうね…
2chから情報を得ておきながら悪口言う人間もいることだし
放置しても平気でしょ
0358nobodyさん
03/05/20 10:19ID:???殺人とかの罪犯す奴いるじゃないか
そしたら外国人は
日本人はみんな犯罪者だと思うのか?
0359山崎渉
03/05/22 01:59ID:???0360nobodyさん
03/05/22 12:59ID:???flock( LOCK, 2 );# ファイルをロックする
open( COUNT, "./log/count.log" );# カウンターの値が入ったファイルを開く
$count = <COUNT>;# カウンター値を読み出す
close( COUNT );# カウンターファイルを閉じる
$count++;# カウンターを+1する
open( CTEMP, ">./log/count2.log" );# 更新したカウンタの値を別のファイルに一時的に書き出す(※2)
print CTEMP $count;
$ezcount = "";#カウントファイルの数字を絵文字に変換
for ($i = length($count) - 1; $i >= 0; $i --) {
$n = int(substr($count, $i, 1));
if ($n == 0) {
$ezcount = "<img localsrc=\"325\">" . $ezcount;
} else {
$ezcount = "<img localsrc=\"".(179+$n)."\">".$ezcount;
}
}
close( CTEMP );# 一時的に書き出したファイルを閉じる(書き込み完了)
rename( "./log/count2.log", "./log/count.log" );# 一時的に書き出したファイルを本来のファイル名にリネーム
unlink( "./lock/count.lock" );
flock( LOCK, 8 );
close( LOCK );
これをPHPにしたいのですが…だれかお願いします!
0362nobodyさん
03/05/25 01:54ID:YbAXJXvg値中の「"」と「'」がエスケープされてしまって、「\」がついています。
これは自分で取り除くしかないのでしょうか?
0365362
03/05/25 02:32ID:???ローカルで出来なかったので、レンタル鯖にスクリプト設置して実験したら
やっぱり同じ現象がおこりました。・゚・(ノД`)・゚・。
自分で取り除いてみます…お騒がせしました
0367山崎渉
03/05/28 17:06ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0368あ
03/05/30 22:54ID:Ey+u4zPhprint <<<EOF
<タグ>$a<タグ2>
EOF;
の<タグ2>が表示されないのって、どうすりゃいいの???
0369イ奄様
03/06/02 11:34ID:EOTygtgqprint <<<EOF
<タグ>${a}<タグ2>
EOF;
0370あ
03/06/02 23:18ID:9zPzvWqa0371nobodyさん
03/06/04 00:53ID:1Jdo0O1g0372nobodyさん
03/06/04 01:12ID:wjzhyKBb・_・y━””
0373age
03/06/08 17:42ID:cXeOp+rQ0374_
03/06/08 17:44ID:???0375
03/06/08 18:09ID:eRunpr9i489 名前: 文責:名無しさん 投稿日: 2001/04/11(水) 17:25
一般人なのに盗聴される、じゃなくて、「一般人だから盗聴される」んじゃないのかな?
基本的にネタ集めのためにやってんなら、有名人のネタを盗むと、有名人は告発できるし、
そんなことされても当たり前だと思われるので告発しても信じてもらえる。
そうでない人は、ここの途中の書き込みにもあったように「電波」扱いされるだけ。
ただで、ネタを仕入れるんなら、一般人に限るでしょう。
マスコミは自分らの無能さを恥じてほしいです。
ちなみに私が盗聴されはじめたのは、芸能人にストーカーされ始めてからでした。
そこからマスコミに広がって行った。
だから余計「妄想」とか思われそう。
友人に話したら完全に病気扱いされた。ストーカーって言葉がない時代だったしね。
書いておいておいた小説のネタが、他人の原作でドラマ化されたときにはきれまくっ
たなあ。(一度や二度のことじゃないけど)
0376age
03/06/13 23:55ID:nW6iX8p90377nobodyさん
03/06/14 01:09ID:Zt1p4X90http://www.php.net/manual/ja/function.mb-convert-kana.php
0378無料動画直リン
03/06/14 01:10ID:K+P5CDjB0379nobodyさん
03/06/15 21:40ID:???http://jp.php.net/manual/ja/function.stripslashes.php
これじゃだめかい?
0380nobodyさん
03/06/19 03:00ID:yyOItGJy0381nobodyさん
03/06/19 19:42ID:???何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
0382nobodyさん
03/06/20 00:47ID:???【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/
0384nobodyさん
03/07/03 21:53ID:???変数の定義がされているかどうかの
チェックはどうやったらいいですか?
0385384
03/07/05 12:49ID:???0386nobodyさん
03/07/05 13:00ID:???もうだめぽ ..
0387nobodyさん
03/07/05 13:14ID:???0388山崎 渉
03/07/15 11:11ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0389nobodyさん
03/07/23 10:22ID:A887jOLIPerlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
0390nobodyさん
03/07/23 13:26ID:???他の言語に興味を持つといいと思います。
0391nobodyさん
03/07/24 01:46ID:???このスレ見たらやる気なくした。やっぱC/C++にするわ。
まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)
PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。
PHPの選択はまずありえないね。
0392nobodyさん
03/07/24 10:31ID:???とりあえず海外見てきたら?
0393nobodyさん
03/07/25 12:40ID:???0394_
03/07/25 13:14ID:???0395nobodyさん
03/07/25 13:21ID:???●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
0397nobodyさん
03/07/25 14:02ID:???0399nobodyさん
03/07/26 02:18ID:???配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?
# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
print OUT @lines;
close( OUT );
// PHP
$lines = file( "hoge.dat" );
// 何か処理
$fp = fopen( "hoge.dat" , "w" );
foreach( $lines as $line ){
fputs( $fp, $line );
}
fclose( $fp );
0400nobodyさん
03/07/26 02:50ID:???CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?
http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157
0401nobodyさん
03/07/26 03:36ID:???バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
■ このスレッドは過去ログ倉庫に格納されています