Perlコーディング初心者質問スレ Part 39
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/27 11:35:03ID:DJwiGeFM【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0002nobodyさん
04/11/27 11:35:47ID:DJwiGeFMCGI: Common Gateway Interface part 11
http://pc5.2ch.net/test/read.cgi/php/1055597189/
【Perl,CGI】参考書籍 第三版
http://pc5.2ch.net/test/read.cgi/php/1030209573/
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/
【 スクリプト改造依頼スレ 】(丸投げ) part2
http://pc5.2ch.net/test/read.cgi/php/1092304968/
△▲ WebProg 初心者の質問 Part10 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1095633323/
【Perl】ファイルロック(排他処理)について語ろう
http://pc5.2ch.net/test/read.cgi/php/1024795138/
★負荷軽減対策委員会(Perl、PHP)★
http://pc5.2ch.net/test/read.cgi/php/1034645635/
【Perl】掲示板を使ろう!
http://pc5.2ch.net/test/read.cgi/php/988890976/
Perlモジュールについて
http://pc5.2ch.net/test/read.cgi/php/997829243/
CGIに依存しないPerlの話題一般/Part2
http://pc5.2ch.net/test/read.cgi/php/1030548610/
0003nobodyさん
04/11/27 11:36:08ID:???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 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
0004nobodyさん
04/11/27 11:37:01ID:???Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/php/kako/1053/10530/1053051519.html
part24 http://pc2.2ch.net/php/kako/1054/10549/1054992610.html
part25 http://pc2.2ch.net/php/kako/1056/10567/1056730690.html
part26 http://pc5.2ch.net/php/kako/1059/10590/1059043704.html
part27 http://pc5.2ch.net/php/kako/1060/10608/1060808783.html
part28 http://pc5.2ch.net/php/kako/1063/10635/1063562491.html
part29 http://pc5.2ch.net/php/kako/1066/10662/1066286828.html
part30 http://pc5.2ch.net/test/read.cgi/php/1069846177/
part31 http://pc5.2ch.net/test/read.cgi/php/1072896288/
part32 http://pc5.2ch.net/test/read.cgi/php/1075545279/ (タイトルに31と誤記)
part33 http://pc5.2ch.net/test/read.cgi/php/1078076768/
part34 http://pc5.2ch.net/test/read.cgi/php/1081148490/
part35 http://pc5.2ch.net/test/read.cgi/php/1085557731/
part36 http://pc5.2ch.net/test/read.cgi/php/1089779036/
part37 http://pc5.2ch.net/test/read.cgi/php/1093106507/
part38 http://pc5.2ch.net/test/read.cgi/php/1097158988/ (前スレ)
0005nobodyさん
04/11/27 11:38:05ID:???[プログラミング自体の経験が無い奴はまずココを読め]
Perlプログラミング講座: http://www5a.biglobe.ne.jp/~n_rieko/perl/
[本]
リャマ: http://www.oreilly.co.jp/BOOK/lperl3/
駱駝: http://www.oreilly.co.jp/BOOK/pperl3v1/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/BOOK/pcook/
[オンラインマニュアル]
Perldoc.com: http://perldoc.com
perldoc.jp: http://perldoc.jp
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/%7ekbk/perl5.005/
[モジュール]
CPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://member.nifty.ne.jp/hippo2000/
[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
0006nobodyさん
04/11/27 19:29:38ID:yZ3pGjpn同じサーバーから取得しようとすると下記の情報だけしか取得できません。
今は、来たメールを別ドメインのアカウントへ転送して、
そのサーバーへ接続して取得しています。
ちなみにプロバイダの共用レンタルサーバー(FreeBSD)では
問題なく動作します。
なぜ同一サーバーから取得しようとすると
下記しか取得できないのでしょうか?
-mimemk00
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
..(本文)..
--mimemk00
Content-Type: image/gif;
name="(添付ファイル名).gif"
Content-Transfer-Encoding: base64
..(以下添付ファイル)..
0007nobodyさん
04/11/27 19:45:57ID:/KXyQL2R掲示板で参加者募ってね
ttp://www.esuna.co.jp/chocobon/
0009nobodyさん
04/11/27 22:20:57ID:???関係ない文字に一致してしまいます(keywordがアルファベット一文字の時とか)。
これらを回避するにはどうすればよいのでしょうか?
sjisでやってます。
0010nobodyさん
04/11/27 22:32:48ID:???0011nobodyさん
04/11/27 23:57:09ID:???すいませんですた・・・
0012nobodyさん
04/11/28 01:30:44ID:UnlanLPTというような中身が順不同な配列があったとして、
cとeを配列から削除するにはどうすればいいのでしょうか?
0013nobodyさん
04/11/28 01:32:49ID:UnlanLPT順番ではなく、bやcといった、中身を見て削除する方法を教えてください。
0014nobodyさん
04/11/28 01:56:38ID:QZh49BOKperlメモ
0015nobodyさん
04/11/28 02:01:19ID:???削除したい要素がどれぐらいあるかにもよる。
その例の通りならこんなのでもいいし。
@list = grep(!/b|c/, @list);
0017!13
04/11/28 09:52:02ID:???その別の方法とはどんなものですか?
0018nobodyさん
04/11/28 11:26:37ID:???foreachで1周させつつ必要なものだけ別配列にpushするもよし。
1周させつつshiftとpushを繰り返すのもよし。
0019nobodyさん
04/11/28 14:12:35ID:???0020nobodyさん
04/11/28 14:43:17ID:???0024nobodyさん
04/11/28 16:48:00ID:???同時にアクセス -> スクリプトの開始(or ファイルのopen)が同時。
てな感じかねぇ。
話題がflockだからどっちでも通じると思うけど。
0027nobodyさん
04/11/29 02:47:51ID:???OOPっぽく書くの、どっちがパフォーマンス的に有利なんだろう。
一概には言えないだろうけど、一般論として。
0028nobodyさん
04/11/29 02:50:14ID:3ENBI+n/やっつけはベタ書き
0029nobodyさん
04/11/29 02:54:21ID:???そりゃOOPの方が不利。そのままソフトウェア設計の一般論に当てはまるかと。
(良く設計されたOOPのシステムはパフォーマンスが良いという事も)
ただしperl自体がそこそこでかいので、誤差程度でしかないと思うが。
0030nobodyさん
04/11/29 03:53:29ID:???特にHTML出力する部分はヒアドキュメントでずらずらと書かれてた方が
ぱっと見で解り易いしメンテも楽。
0031nobodyさん
04/11/29 04:14:04ID:???OOPはパフォーマンスを上げるためじゃなく開発性を上げるためのもの
確かに>>30のいうようにOOPにすると逆に小難しくなるのも確かだね
OOP自体は遠回りしてでも処理を分割するから
無駄に変数定義してたりするけど
よほどのことがない限り差が出たりはしないんじゃないかなぁ
0032nobodyさん
04/11/29 08:55:50ID:???あれ見やすいってことだろうけど、漏れは、ぜんぶメインで書く。
実際、ベンチやると、メインだけの方が速いんだよな。余りやったこと
ないが、別ファイルにしたモジュールのインクルードはさらに遅くなる
と思われ。
0033nobodyさん
04/11/29 09:29:08ID:???0034nobodyさん
04/11/29 10:04:31ID:???0035nobodyさん
04/11/29 11:19:34ID:vhU7fwVw$value =~ s/[\x00-\x20]+/ /g;
の記述についてです。
これはどのような意味を持つのでしょうか?
0036nobodyさん
04/11/29 11:22:53ID:???0037nobodyさん
04/11/29 11:26:06ID:???0038nobodyさん
04/11/29 11:30:40ID:???0039nobodyさん
04/11/29 11:33:46ID:???せいぜいデカいやつで100ステップ超えるぐらいだな。
0040nobodyさん
04/11/29 12:15:29ID:???0041nobodyさん
04/11/29 13:17:08ID:???馴染めなくて結局シェルとsedとawk一辺倒だった。
今思えばあの時ちゃんとやっとけば良かった。
0042nobodyさん
04/11/29 13:28:07ID:???その時は一回しか使わなくてもサブルーチンを作っておくことは良くある。
>>41
今からでも遅くないからがむばれ。
0043nobodyさん
04/11/29 13:53:05ID:???2. よく似てるが少しだけ違う処理のスクリプトを何本か copy&paste で作る
3. 共通部分に仕様変更が発生する
4. copy&paste したところをスクリプトの数だけ書き直し、嫌気がさす
5. サブルーチン化する
てのが誰でも一度は通る道だと思ってたんだが、ひょっとして漏れだけ?
0044nobodyさん
04/11/29 14:05:25ID:???OOPの書き方も人それぞれだから結局見にくいことに変わりはないケースもある
そもそも再利用するための書き方だからね
0046nobodyさん
04/11/29 14:45:43ID:???しかしレンタルの共用サーバとなると結構気になる。
実際、仕事より趣味のWebプログラミングの方がシビアだったりする。
0047nobodyさん
04/11/29 14:53:51ID:???javaはモデリング命だし、Cの場合は当然モジュール化しっかりやる。
でもperlだと・・・。
0048nobodyさん
04/11/29 21:07:05ID:???0049nobodyさん
04/11/29 21:07:26ID:???人格まではどうかはわからないけど、その言語の慣習に従う傾向はあると思う。
言語自身がそういった特定の用途向けに設計されてたりする事もあるから、言語毎に切替えるのが適切な対応なんじゃないかな.
細かいところでは、コーディングスタイルや変数/関数の命名規則なんかでも、その言語の標準に合わせたりするよ。
>>32
コストの判断を誤ってるような気がする。
関数呼出のオーバーヘッドの為、関数定義して使う方が遅いのは当然だけど。
ベンチ取ったとしても数千回回して1秒に届くかどうかの誤差の範囲内では?
ループ内で何度も呼ばれる関数ならインラインで展開する価値はあるかもしれない、
でも、一度しかつかわれないのなら、コードのみやすさとか保守性の方を優先させるべきだと思う。
0050nobodyさん
04/11/30 01:16:47ID:???言語によって変えるのは普通じゃないかな
逆に無理やり同じように書く方がプログラマに向いてない
0051nobodyさん
04/11/30 11:00:35ID:???エディタないですかね?
perlでコーディングする時、みんなどんなエディタ使ってるんだろ。
0052nobodyさん
04/11/30 11:03:00ID:???http://pc5.2ch.net/test/read.cgi/php/1014357485/l50
0053nobodyさん
04/11/30 11:10:45ID:???まあ精度はそれなり程度。
ちなみに俺は秀丸かvimでゴリゴリ書いてる。
0054nobodyさん
04/11/30 17:32:30ID:???他にそういう文字ありますか?
0055nobodyさん
04/11/30 19:53:20ID:???http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0056nobodyさん
04/12/01 01:41:08ID:???音引き記号だぞ
0058nobodyさん
04/12/01 07:54:01ID:???0059nobodyさん
04/12/01 15:56:42ID:???普段は仕事でシステム設計するしプログラミングもやる。
でも、いざWebをやろうとしたらHTMLよくわからない、CGIもよくわからない、perlもよくわからない。
CやjavaやVBならどんと来いなのに、業務アプリならおまかせ!なのに、なんか情けない・・・
そんな経験ないですか?
0060nobodyさん
04/12/01 16:00:30ID:???そういう時は勉強するんじゃないんですか?
0061nobodyさん
04/12/01 16:01:35ID:???0062nobodyさん
04/12/01 16:12:14ID:???知らなくても恥ずかしくない。必要なら勉強するかって感じだな。
「お前SEなんでしょ?ちょっとCGIってやつHPに置きたいんだけど協力して。」
って言われて「あ、そういえば良くわかんねーや」ってのがキッカケだった。
0063nobodyさん
04/12/01 16:24:25ID:???ヒアドキュメントのHTMLがどんどん長くなっていっちゃって・・・
0064nobodyさん
04/12/01 16:32:42ID:???自分の、あるいはそのスクリプトをメンテする人の技量ならびに忍耐力と相談して決めろ。
俺ならヒアドキュメント全廃して HTML::Template 使うが。
0065nobodyさん
04/12/01 16:57:25ID:???HTML::Template使う場合って、テンプレートを別ファイルにするか、
ソース内に組み込んでおくか、どちらがいいでしょうね?
余計なファイルアクセスは避けたいところ。
いずれにしてもHTML::Template使った事無いので、いったん今の状態で設置して、
テンプレート化も同時に進めてみます。
0066nobodyさん
04/12/01 17:22:27ID:???俺の作ったのなんか7486行あるぞ。
実行ステップ数は計ってないからわからんが。
その内、ヒアドキュメントは・・・どんくらいだろ。
別に長くてもいいんじゃね?
ヘタにいじくりまわして可読性が悪くなっても意味ねーし。
あと、実装してる機能にもよるだろ。
0067nobodyさん
04/12/01 17:25:59ID:???俺の環境で10000行ぐらいのやつでベンチマークとってみたら、
ヒアドキュメントにするよりも別ファイルにした方が20倍ぐらい速かった。
perl が立ち上がってスクリプトをコンパイルするときに
ヒアドキュメントの中まで構文解析するので、それに大きな時間を食われるのだと思う。
ただし環境によって違ってくる話だと思う。
コンパイル速度はCPU依存で、ディスクアクセス性能はHDD依存なので、
CPUが圧倒的に速くてHDDが無闇に遅いマシンだと、また違った結果が出るかもしれない。
0068nobodyさん
04/12/01 17:34:38ID:???うお、マジかよ。いくら環境次第とはいえ、そこまで変わるってのもすげーな。
0069nobodyさん
04/12/01 17:41:19ID:???場合だと、外部ファイルに分離した方が使うもの1つだけ
読めばよいのでお得てなこともあるかもしれんな。
0070nobodyさん
04/12/01 18:32:57ID:???オプションを適切に設定すれば、普通に埋め込むより速くても不思議じゃないよ、
HTML::Templateでも、ファイルからの読み込みは初回のみで、共有メモリにキャッシュを置く事とか出来る。
原理的にはメモリにキャッシュするのが最速なはずだし。
メモリと引き替えに実行速度重視とする場合は、
スワップとか発生すると逆にパフォーマンス低下するので、
コンテンツの規模、アクセス/更新の頻度、実行環境等を考慮して
パフォーマンスチューニングされてるのが前提だけど。
逆に言うと、こういった条件を無視して、
埋め込むほうがいいか、別ファイルに分ける方がいいかというのは、一概に判断出来ない。
条件次第では速くも遅くもなるのだから。
>>67
それくらいの規模になると、使われない処理のコードも毎回読み込まれてたりしないかな。
mod_perlだとまた結果がかわってきそう。
0071nobodyさん
04/12/01 19:47:44ID:ZtAPmMKL解決方法を教えてください。
どのスレで聞けばいいのか分からなかったので、スレ違いなら誘導をお願いします。
【症状】HTMLに埋め込むタイプの画像カウンタなのですが、カウンタが表示されるはずの場所に何も表示されません。
カウンタのCGIをアドレスバーに直接打ち込んだら、それは正しく表示されました。
CGI側の出力
Content-type:text/html\n\n
<HTML>
<IMG SRC="数値画像"><IMG SRC="数値画像">・・・(中略)
</HTML>
HTMLファイル側の記述は以下の二つを試しました。
1:<!-- #exec cgi="./count.cgi" -->
2:<!-- #include virtual="./count.cgi" -->
【環境】Apache 1.3.29(ローカルサーバー)
「 Includes 」 「 ExecCGI 」 設定済。
「 AddType text/html .html
AddType server-parsed .html 」 設定済。
0072nobodyさん
04/12/01 20:00:32ID:???>HTML::Templateでも、ファイルからの読み込みは初回のみで、共有メモリにキャッシュを置く事とか出来る。
マジ?
mod_perlでなくてもOK?
レン鯖だとどうなんろう。
0073nobodyさん
04/12/01 20:02:18ID:???1:<!-- #exec cgi="count.cgi" -->
2:<!-- #include virtual="count.cgi" -->
これでどうだ?
0074nobodyさん
04/12/01 20:05:08ID:???IPC::SharedCache無いとダメか・・・。流石にうちのレンタルサーバにはインストールされてなかった。
007571
04/12/01 20:13:12ID:ZtAPmMKLすいません、結果は変わりませんでした。
0076nobodyさん
04/12/01 20:39:49ID:???<!--#include virtual="count.cgi" -->
<!-- と # の間を詰める。のがポイント。
というか、Perlの問題じゃないじゃん。
0077nobodyさん
04/12/01 21:12:33ID:???すでにperldoc読まれたかと思うけど、
一応捕捉しておくと、mod_perlじゃなくてもOk, ただし、shared_cacheオプションを使う場合はIPCが必要.
共有サーバーだとしたら、資源の独占は返ってサーバー全体のパフォーマンスを落しかねないので。
もし使えたとしても、file_cacheに留めておくのが無難だと思う。
0079nobodyさん
04/12/01 23:30:32ID:???0080nobodyさん
04/12/02 01:00:15ID:???0081nobodyさん
04/12/02 05:32:13ID:???0082nobodyさん
04/12/02 12:10:08ID:WEQP3q+X●先頭から16個目のデータをキーにしてソートする場合
@address = sort{(split(/,/,$a))[15] <=> (split(/,/,$b))[15]} @address;
●先頭から16個目のデータを1次キー、3つ目のデータを2次キーとしてソートする場合
@address = sort{(split(/,/,$a))[15] <=> (split(/,/,$b))[15] or (split(/,/,$a))[2] <=> (split(/,/,$b))[2]} @address;
ここで、ソート部をサブルーチン化しろとの上司の命令。以下のように書いてみました。
#&datasort(データの型,並べ順,並べ替え時のキー,配列)
#データの型:数値は1、文字列は2
#並べ順:昇順は1、降順は2
#並べ替え時のキー:先頭は0、3番目なら2、5番目なら4という具合。
@address = &datasort(1,1,15,@address);
#並べ替え部のルーチン
sub datasort{
#$format:数値は1、文字列は2 $order:昇順は1、降順は2 $key:ソート対象のキー、先頭は0、5番目なら4など。
my ($format,$order,$key,@data) = @_;
if($format == 1){
if($order == 1){@data = sort{(split(/,/,$a))[$key] <=> (split(/,/,$b))[$key]} @data;}
elsif($order == 2){@data = sort{(split(/,/,$b))[$key] <=> (split(/,/,$a))[$key]} @data;}
}elsif($format == 2){
if($order == 1){@data = sort{(split(/,/,$a))[$key] cmp (split(/,/,$b))[$key]} @data;}
elsif($order == 2){@data = sort{(split(/,/,$b))[$key] cmp (split(/,/,$a))[$key]} @data;}
}
return @data;
}
で、複数のキーを使ってソートする場合の呼び出し方がわかりません。
@address = &datasort(1,1,15,@address) or &datasort(1,1,2,@address);
だと、当然のことながらorより後ろは動かない。
誰か教えてくださいませ。。
それか、サブルーチンの書き方がおかしい?
0083nobodyさん
04/12/02 13:59:06ID:???試しに書いてみた。
sub csvsort {
my $arrayref = shift;
my @cmps;
while (my($n,$cmp) = splice(@_,0,2)) {
++$n;
$cmp =~ s/(\$[ab])/$1\->[$n]/g;
push @cmps, "($cmp)";
}
my $fcmp = eval("sub {" . join("||", @cmps) . "}");
map $_->[0], sort { &$fcmp } map [$_, split /,/], @$arrayref;
}
# @csvを「要素2を文字列昇順、要素0を数値降順」のオーダーでソート
@sorted = csvsort(\@csv, 2=>'$a cmp $b', 0=>'$b <=> $a');
0085nobodyさん
04/12/02 15:06:46ID:???会員制のサイトを作る場合、
ユーザー個々のデータを保存するのは、
CSV形式、それともユーザーごとにファイルを作成してハッシュ配列で保存、
どちらが妥当でしょうか?
例えばハッシュのイメージとしては、
Id 1
Pass 1234
Name A男
Age 42
Job 会社員
というように考えています。
CSVだと、
1, 1234, A男, 男, 42, 会社員
2, 5678, B子, 女, 30, 営業
・
・
・
(以下リストが続く)
↑こういう形式で良いのでしょうか・・・。
よろしくお願いします。
0086nobodyさん
04/12/02 15:12:42ID:???CGIが動いているサーバーの種類がWin系かその他系かを判定する方法ってありますか?
ファイル名を指定してファイル出力を行なうCGIがあるのですが、
Win系ですと大文字小文字関係なく既に存在するものと同名のファイルは作成できませんが、
Linuxとかですと、大文字小文字が区別されるので、作成可能にしようと思っています。
0087nobodyさん
04/12/02 15:43:37ID:???サーバの返してくるhttpヘッダにあるかもしれないので取得するとか、
cgiで環境変数SERVER_SOFTWAREを調べるとかPATHから想像するとか、
systemとかopenとか使えるんだったらperlのバージョンとかを出力させてみるとか、
サポートに聞くとか
008882
04/12/02 17:39:29ID:???>>83
動きませんでした・・・。
もう少し考えてみます。
本心では「本当にサブモジュール化しないといけないのか?」と思いつつ
上司にも逆らえず。
>>83
間違ってる?
returnを省略しても同じ結果なのはわかるのですが。
>>87
system関数が使えるなら、win系に存在しないコマンド(lsとかcatとか)を
実行させればいいと思うのですが。
system関数は中のコマンドが成功すれば0を返すので
unless(system "ls -l"){
Unix系のサーバーでやりたいこと
}else{
窓系のサーバーでやりたいこと
}
でできないかな。
0089nobodyさん
04/12/02 18:24:52ID:???それだったらOSを識別できるコマンドで一度識別してから作ったほうがいいだろー。
unameとかでもいいし。
いちいちunless云々すんのかい?
まぁあくまでsystemやらopenやら使えるなら。
009083
04/12/02 18:26:51ID:???動かないってのはエラーが出るってこと?
それとも正しくソートされないってこと?
一応、動作確認(ActivePerl5.8.4)済みなんだけど・・・
よければ動かない〜の詳細をレス頼んます。
0092nobodyさん
04/12/02 20:54:21ID:???datasortを使う方向で考えてみました。
速度は遅いしメモリ食うしー。
sub bogosort
{
use sort stable;
my ($key, @data) = @_;
foreach(reverse(@{$key})){
my ($format, $order, $key) = @{$_};
@data = datasort($format, $order, $key, @data);
}
return @data;
}
my @new = bogosort([[1,1,0], [1,1,4]], @data);
要素0の数値昇順、要素4の数値昇順でソート。
$keyは[(1:数値/2:文字列),(1:昇順/2:降順),要素]の配列のリファレンス。
0093nobodyさん
04/12/02 21:57:32ID:???初めの頃にケン○やらレス○やらばっか参考にしてたが、
あんなソース見てたらダメだな。
0094nobodyさん
04/12/02 22:01:06ID:???0095nobodyさん
04/12/02 22:06:47ID:???超人業でもなく、ダサダサでもなく、丁度いい感じのソースとおもふ。
0096nobodyさん
04/12/02 22:16:47ID:???いきなり Wiki 設置しようとか思わないだろう
0097nobodyさん
04/12/02 22:24:41ID:???0098nobodyさん
04/12/02 22:39:28ID:???0099nobodyさん
04/12/02 23:04:37ID:???んじゃなかろうかという気がするが、もしあったら漏れにも教えて
0100nobodyさん
04/12/02 23:16:40ID:???インラインでHTMLだーっと書いて、途中から条件分岐で何か処理して、
続きのHTMLをまただーっと・・・ってなる。
0101nobodyさん
04/12/02 23:25:32ID:???HTML::template使うとヘッダ、フッタ、フォーム、メッセージ表示部分、って感じに
分けることはできないから、同じようなテンプレートをいくつか用意する事になるし。
■ このスレッドは過去ログ倉庫に格納されています