探検


【待望】PerlユーザのためのPHP入門

511nobodyさん
垢版 |
04/01/23 23:10ID:???

list()でログファイル(5MB程度)を参照して検索などを作るとき、

fopen()
flock()
Fclose()
しなくてもログファイルの破損などは起こらないでしょうか?
書き込み中はロックしてますが、list()中はロックしないとします。
512nobodyさん
垢版 |
04/01/24 18:46ID:???
>>511
listでファイルは参照できないはずだが????
513アノニマス
垢版 |
04/02/16 18:58ID:O91ZKuNr
正規表現でマッチできないけど?
どこがおかしいの?

//10桁の1...と12桁の2...の配列がある。
$str = array('1111111111','222222222222');
//10桁以上、10桁以下の(要は10桁のみ)数値パターンを配列$resultに格納したい。
$hoge = preg_grep("/[0-9]{10,10}/",$result);
//結果、両方でてきちゃう。どうして?
print_r($result);

よろしこ。
514イ奄様
垢版 |
04/02/16 19:15ID:PkrMZZ9m
>>513
それだと
"hoge1234567890hage"とかにもマッチする。
数字で始まり10個目の数字で終わるなら
$result = preg_grep("/^[0-9]{10,10}$/",$str);
515イ奄様
垢版 |
04/02/16 19:18ID:???
$result = preg_grep("/^\d{10}$/",$str);
でもいい
516アノニマス
垢版 |
04/02/16 19:35ID:O91ZKuNr
>>514,515 イ奄様
有難うございます。なるほどよく分りました。

しかも、問題が間違えているにもかかわらずよく理解してくださいました。
重ねて御礼します。

出したかった問題は、こうでした。
$result = preg_grep("/[0-9]{10,10}/",$str);
まぁ、間違ってんだから訂正は要らないんだけどね・・・。


517nobodyさん
垢版 |
04/02/16 21:57ID:???
それは perl でも同じ結果だろうなと。
perlとPHPで結果が違うのかと思ったよw
518nobodyさん
垢版 |
04/03/05 15:09ID:???
質問してもいいですか?
Perlの「undef」に相当するPHPの関数は何ですか?
マニュアル検索しても見つけられなかったのです。
スレ違いでしたらスルーでお願いします。
519nobodyさん
垢版 |
04/03/06 02:17ID:???
>>518
unsetじゃないかな?
520nobodyさん
垢版 |
04/03/08 22:21ID:???
Perlだと文字列の置換をしたときに置換されたものが$1などの変数に代入されますよね。
PHPでも同じことは出来るのでしょうか?
521nobodyさん
垢版 |
04/03/08 23:07ID:???
>>520
自己レスです。
preg_match_allで出来ました・・・
他にいい方法があれば知りたいです。
522nobodyさん
垢版 |
04/04/06 09:54ID:Rt5G2mKK
自作関数に渡した引数は、Perlでは$_[0],$_[1]...に、
JavaScriptではarguments[0]...に、入るじゃないですか。
PHPでは何に入るのでしょうか?
もしかして必ず function x($a,$b,$c) の様にする必要があるのでしょうか?
何とかして引数を配列として扱いたいのです。
523nobody
垢版 |
04/04/06 11:33ID:???
>>522
function ほらよ ($配列) { print_r($配列); }
ほらよ(array('a', 'b', 'c'));
524nobodyさん
垢版 |
04/04/06 14:51ID:???
>>523
有難う御座ります。
PHPって関数名や変数名に日本語使えたんですね 驚きました。
525nobodyさん
垢版 |
04/04/06 14:59ID:???
(^∀^)ゲラゲラ
526nobodyさん
垢版 |
04/04/18 21:32ID:???
(^∀^)ゲラゲラ
527nobodyさん
垢版 |
04/04/19 04:39ID:???
(^∀^)ゲラゲラ
528nobodyさん
垢版 |
04/04/19 13:09ID:???
(^∀^)ゲラゲラ
529nobodyさん
垢版 |
04/04/19 21:16ID:???
( ・∀・)σ)´Д`)>>524
530カポコン
垢版 |
04/04/21 13:43ID:???
http://f13.aaacafe.ne.jp/~mugen/perlvsphp/top.html

よろしこ。
531nobodyさん
垢版 |
04/04/21 19:32ID:???
>>530
実に頭の悪そうな文章ですね。
532nobodyさん
垢版 |
04/04/21 21:28ID:???
>>530
Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。

あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。
533nobodyさん
垢版 |
04/04/22 03:05ID:???
>>530
俺もPerlはあまり好きじゃないが
>認めざる終えません。
なんて文章書く人の言語構造をむしろ疑いたい。
534カポコン
垢版 |
04/04/26 10:25ID:???
>>532
その真珠のヴァージョンは何ですか?
requireを使用するとか笑わせる答えじゃないですよね?

>>533
>しかし、CやJavaなどと比べPerlの方が極力型を意識しない言語仕様
>になっているというのは認めざる終えません。
あーそんな風に書いてたんだね。そのうち、なんとか汁。

# 真珠批判やってるサイトって他にもあるもんだねー。
535532
垢版 |
04/04/27 05:54ID:???
マジレスした自分に鬱。
536nobodyさん
垢版 |
04/04/30 23:59ID:um4DKqqr
perlにおいて、csvファイルを配列に取り込み、複数項目(カンマ区切りの2列目と3列目)でソートをかける為に
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?

@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
537nobodyさん
垢版 |
04/05/01 06:06ID:???
>>536
http://jp.php.net/manual/ja/function.usort.php
538nobodyさん
垢版 |
04/05/01 07:23ID:???
>>530
あまり真面目に見ていないけど、もっと説得力ある文章になるくらい
たくさんプログラムを作ってみた方が良いんじゃないかな。
今の状態だと言語の違い以前に本当にプログラムを作った事が
あるんだろうかと疑いたくなるよ。

>>535
気にすんな
539nobodyさん
垢版 |
04/05/03 01:13ID:N715jxDT
ASPユーザですが、PHPへの移行への許可は頂けますか?
540nobodyさん
垢版 |
04/05/08 15:25ID:???
perlとPHPのどっちが偉いかとかいった下らない話題につき合うつもりはないが

http://f13.aaacafe.ne.jp/~mugen/perlvsphp/page7.htm
↑を MVC と呼ばれては碇浸透

コンテンツとデザインの分離スレにちょっと鯉 >>350
541nobodyさん
垢版 |
04/05/15 03:52ID:???
>>540
そいつはマジメに運営してないからほっといていいよ。
542nobodyさん
垢版 |
04/05/20 12:08ID:NShBOzWM
PHP普及の原因は、イスラエル・Zend社のマーケティングの成功にある。
@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
…といいつつ、かく言う私も、PHPに乗り遅れまいと必死だが…。(^^;)


543nobodyさん
垢版 |
04/05/20 16:11ID:???
↑もう5回くらい見たんだが。しかも全部IDが同じだ・・・見間違いだよな?
544nobodyさん
垢版 |
04/12/07 16:29:25ID:???
最近やっとphpの配列は、perlの配列のリファレンスだと考えればいいんだとわかった。
んで、phpで関数に配列を引渡すときは、配列のコピーのリファレンスを渡していると考えればいいとわかった。

だから、phpのこれは
$array[$index] = $value;

perlのこれに対応するわけじゃなく
$array[$index] = $value;

これに対応しているわけで
$array->[$index] = $value;

phpのこれは
$array = array($val1,$val2,$val3);

perlのこれに対応している
$array = [$val1,$val2,$val3];

なのでphpのこれは
function f($array){
.......
}

perlのこれに対応するわけだったんだね。
sub f{
my $array = [@{$_[0]}];
.......
}
545nobodyさん
垢版 |
05/03/03 01:29:07ID:eDjoFwC+
Perlのlast関数にあたるものはPHPのbreak関数かと思いますが、
next関数にあたるものは何になるのでしょうか?

ご教示いただけますと幸いです。
546nobodyさん
垢版 |
05/03/03 07:00:57ID:???
>>545
continue
547nobodyさん
垢版 |
05/03/03 09:43:42ID:???
>>545
関数じゃないよ。制御構造と呼んでくれくれたこら
548nobodyさん
垢版 |
05/03/03 14:56:14ID:???
>>544
おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
549nobodyさん
垢版 |
05/03/08 04:57:03ID:???
日本語を変数名に使えるようにすんなよとか
リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
550nobodyさん
垢版 |
05/03/08 07:20:38ID:???
0.0.1のバージョンアップでコアに新機能を加えたあげくにエンバグって何よとか
デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
551nobodyさん
垢版 |
2005/11/06(日) 12:54:25ID:szZvbyxN
perl使いがPHP使いに成ってもスキル低いのには変わらないけどな。
PHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
552nobodyさん
垢版 |
2005/11/07(月) 01:20:42ID:???
意味不明
553nobodyさん
垢版 |
2006/01/20(金) 19:20:58ID:???
Cはもう、使う職場が限られている気がするが
554nobodyさん
垢版 |
2006/03/13(月) 04:51:31ID:???
保守
555nobodyさん
垢版 |
2006/03/31(金) 03:55:29ID:???
保守
556nobodyさん
垢版 |
2006/04/27(木) 19:27:28ID:???
保守
557nobodyさん
垢版 |
2006/04/28(金) 03:16:17ID:???
スレの内容を勝手にまとめてみたのでうpするよ
俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。

http://bebe.run.buttobi.net/up/src/be_1673.txt.html
558557
垢版 |
2006/04/28(金) 03:19:25ID:???
HEAD内のひとつめのSTYLEタグは不要なので消しておk
559nobodyさん
垢版 |
2006/05/15(月) 05:54:56ID:KM0klNRe
>>557
乙。もらいます
560nobodyさん
垢版 |
2006/09/20(水) 11:53:55ID:uaOOSUkQ
Perlのqqみたいなの、PHPでできんか?
561560
垢版 |
2006/09/20(水) 12:00:23ID:uaOOSUkQ
できんか・・rubyでも同様の文法はあるんだけどなぁ・・。
ヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
562nobodyさん
垢版 |
2006/09/24(日) 06:15:19ID:???
ヒアドキュメントは当然ながら、qqも必要ないもん。
563nobodyさん
垢版 |
2007/05/04(金) 02:57:45ID:SmDWSadW
保守
564nobodyさん
垢版 |
2007/05/07(月) 03:01:24ID:???
このスレの意思とは逆なんですが、
php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。


サブルーチン if ($hoge && $> == 0);

↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
565nobodyさん
垢版 |
2007/05/08(火) 00:36:50ID:???
$>はuid
$hogeが真かつrootで実行されている時だと思う

> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
566nobodyさん
垢版 |
2007/05/09(水) 21:29:36ID:+HRKvy3U
perlでハッシュの値を出力すると何故か「1/8」になってしまうんですがこれはどうすれば直せますか?
567nobodyさん
垢版 |
2007/09/17(月) 05:29:18ID:j/liUul9
亀だが

>566
$foo=%hoge;
print $foo;

ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな

perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
568nobodyさん
垢版 |
2007/09/17(月) 14:53:34ID:???
早くもPHPユーザのためのPerl入門スレになりつつあるな
569nobodyさん
垢版 |
2007/09/17(月) 19:28:13ID:???
アリガd
570nobodyさん
垢版 |
2007/09/18(火) 21:48:20ID:???
基礎PHPという教本を読みながら問題を解こうとしているんですが、まったく理解できなくて
悩んでいます。
何方か指南していただけないでしょうか?
問題の内容は以下に、

内容
フォームからPOSTのメソッドを利用して「ユーザー名」と「パスワード」を送信する。
受信したファイルでは「ユーザー名」と「パスワード」の妥当性を判断してメッセージを出力する。

条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php

input.htmlには2種類のテキストボックスを配置させる(txtNameとtxtPassword)
check.phpでは以下の4種類のメッセージを出力させること
ユーザー名とパスワードの組み合わせが正しい場合「認証成功!」
ユーザー名が存在しない場合「ユーザー名が存在しません」
ユーザーは存在するがパスワードが誤っている場合「パスワードが間違っています」
ユーザー名またはパスワードのいずれかが空白の場合「ユーザー名またはパスワードが未入力です」

check.phpにおけるユーザー名とパスワードの組み合わせは以下のとおりとする。(3ユーザー分)
ユーザー名:guest admin shs0000
パスワード:goma adm 0000

スクリプト内での以下の配列に格納し、プログラムによって判断を行うこと。
ユーザー名:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass $arrPass = array(・・・・);

ヒントでfor,if文を使うとあります。

どうかお願いします。
571nobodyさん
垢版 |
2007/10/04(木) 11:12:02ID:Ba37oSfY
ここに神がいることを祈ります。

これ

$a1="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./";
$a2=substr($a1,int(rand(64)),1).substr($a1,int(rand(64)),1);
$cryptpass = crypt($pass,$a2);

をPHPで同じことさせるにはどうしたらいいのでしょうか・・・

572nobodyさん
垢版 |
2007/10/04(木) 11:18:40ID:???
int(rand(64)) => rand(0, 63)

これだけ代えればいけるんじゃね?
573nobodyさん
垢版 |
2007/10/04(木) 14:18:23ID:Ba37oSfY
>>572
あなたは神だ。
ありがとうございました^^
本当助かりました。
574nobodyさん
垢版 |
2007/10/07(日) 01:40:12ID:???
>>570
まずPerlでかけるのか?
かけないなら質問スレいってこい
575nobodyさん
垢版 |
2007/10/20(土) 02:19:47ID:???
漠然とした質問で申し訳ないが
単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
576nobodyさん
垢版 |
2007/10/20(土) 02:42:16ID:???
基本同じくらい


ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
577nobodyさん
垢版 |
2007/10/23(火) 00:14:10ID:???
>>576
遅くなったがありがトン

すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
578nobodyさん
垢版 |
2008/05/25(日) 10:56:38ID:???
&ReadParse;
while (($key,$val) = each %in) {

って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?

教えて下さい神様。
579nobodyさん
垢版 |
2008/05/27(火) 23:52:32ID:???
if(isset($_POST)) {
while(list($key, $val) = each($_POST)) {
//POST変数が存在する数だけループ $key $valで所得->処理
}
}
if(isset($_GET)) {
while(list($key, $val) = each($_GET)) {
//GET変数が存在する数だけループ $key $valで所得->処理
}
}

かな?後、
import_request_variables("GPC","{re_ とか何か接頭辞}");
を使うとGET,POST,COOKIEを一度に変数へ展開できる。
Perlの方が良く解らないので見当はずれだったらごめん。
580nobodyさん
垢版 |
2008/05/28(水) 23:19:19ID:???
ありがとうございます。
上述の方法でやってみます。

助かりました!
581nobodyさん
垢版 |
2008/06/04(水) 07:29:17ID:???
>>578だとgetだろうがpostだろうが
すでに%inに入ってる訳だがその辺は良いのか?

>>579
俺はPHPはイマイチなんだが、$_POSTか$_GETを判別して別のハッシュに入れ
そのハッシュをeachした方が良くね?
582nobodyさん
垢版 |
2008/06/05(木) 21:39:46ID:???
>>581
Perlでいうハッシュ=連想配列:$QUERY{$key} = $valで、
$_POSTや$_GETは既に判別された後のハッシュと同じと解釈してますが、
実際どうなんだろう?
583nobodyさん
垢版 |
2008/06/06(金) 10:39:11ID:???
いや、ループの前に$_POSTでも$_GETでも1つにしちまえば
ループ自体が1つに出来るっていう話
584nobodyさん
垢版 |
2008/06/06(金) 11:40:29ID:???
つ $_REQUEST
585581=583
垢版 |
2008/06/06(金) 17:14:55ID:???
>>584
そんな便利なのあるんだな
元質問者じゃないが勉強になったよ
586nobodyさん
垢版 |
2008/06/16(月) 20:24:30ID:???
DMYHMS形式をエポック秒に変換したいんだすが、
Perlのtimelocal()的なものがphpでありますでしょうか?
587nobodyさん
垢版 |
2008/06/16(月) 21:19:36ID:???
お前は風大左衛門かw
こんな感じでどうだす?

mktime(HH,MM,SS,mm,dd,yyyy);
588nobodyさん
垢版 |
2008/06/16(月) 23:26:39ID:???
>>587
バッチリです!ありがとうごぜいます。
589nobodyさん
垢版 |
2008/06/17(火) 09:51:41ID:???
文字列の小数点以下を削除しようと思って、("3.1415"→"3")

$PI = ereg_replace("\.\d*", "", $PI);

とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
590nobodyさん
垢版 |
2008/06/17(火) 23:01:21ID:???
perlちとPHPとで、正規表現がちがうでよ。

$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);

こんなんどうだべ?
591nobodyさん
垢版 |
2008/06/17(火) 23:16:04ID:???
>>590
ズッポシです!ありがとうございました。
592nobodyさん
垢版 |
2010/06/19(土) 14:31:36ID:???
PHPのエラー処理は、以下の三つくらいがあげられますが、
どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
2012/11/24(土) 18:32:42.67ID:???
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>416
            / ←>>343
594nobodyさん
垢版 |
2015/01/25(日) 20:46:07.91ID:???
同じだから移行して何の意味があるのかわからん
595東京女子医科大学病院プロポフォール大量投与
垢版 |
2015/05/24(日) 21:12:24.33ID:bUoj/9l7
【話題】なぜ日本人は世界中でモテモテなのか!?日本人の魅力について外国人100人に聞いてみた【最強】

https://www.youtube.com/watch?v=P4UD7b6h2KM
596東京女子医科大学病院プロポフォール大量投与
垢版 |
2015/05/24(日) 21:12:24.77ID:bUoj/9l7
【話題】なぜ日本人は世界中でモテモテなのか!?日本人の魅力について外国人100人に聞いてみた【最強】

https://www.youtube.com/watch?v=P4UD7b6h2KM
597nobodyさん
垢版 |
2015/07/24(金) 22:11:58.78ID:Ba8qs0sO
ぜんしろうは、せんずろうと言われるが、この歳になればみんなせんずろうだ。
598nobodyさん
垢版 |
2017/12/30(土) 13:02:48.84ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

UT147M7AKH
599nobodyさん
垢版 |
2018/02/20(火) 04:52:23.92ID:???
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
600nobodyさん
垢版 |
2018/06/20(水) 23:01:27.83ID:UnZq46Ab
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

J4K21
601nobodyさん
垢版 |
2023/03/09(木) 22:40:19.07ID:???
オラオラ (  ̄Д ̄)y-*);゚皿゚)ノ アチチチッ!!!
レスを投稿する


ニューススポーツなんでも実況