トップページ⇒php
1001コメント304KB

【Perl】初心者コーナー Part14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/18 16:34ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0413nobodyさん02/07/26 13:48ID:???
opren(file-handle, "filename") || &error("ファイルが開けません");

この || って、ダメだったらって意味ですか?
0414nobodyさん02/07/26 13:50ID:???
>>413
もしくは。

ifの中のと一緒だ。

前の式がtrueなら後ろの式は評価されないと言う性質を逆手に取った
他の言語ユーザに見せたらどつき倒されそうな処理です。
0415nobodyさん02/07/26 14:02ID:???
perlでしかやらない方がいいという書き方って事ですか。

あと、
sub auto_link {
  $_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\">$2<\/a>/g;
}
これはURL文字列を自動的にリンクにするサブルーチンですけど、
自分は正規表現が複雑なのはわかりません。
でもサブルーチンは便利で引数だけ渡せば意図する結果を返してくれます。
サブルーチンの中の正規表現をわざわざ噛み砕いて理解する必要はありますか?
まぁ、これがわからないと自分でいちから作れないという訳になってしまいますが。
0416nobodyさん02/07/26 14:03ID:???
>>414
括弧の多い言語では普通ですが、何か?
0417nobodyさん02/07/26 14:09ID:OgCRHfVm
1:自分はこう言う事がしたい。

 script01.plをuser01で実行し、その中からsystem関数を使って
script02.plを実行させたい。
 ただし、script02.plは、user02が実行したものとしたい

2:それでこんな風にやってみたが・・・

 perl -h で起動オプション調べてみましたが、起動ユーザーを指定
する方法がありませんでした。

 何か、スクリプトを起動するユーザーを選択する方法ってないでしょうか? 
0418nobodyさん02/07/26 14:17ID:???
>>417
script02.pl をsetuidモードにでもしとけ。
0419nobodyさん02/07/26 14:39ID:???
>>416
そうか?Cとかで


fp = fopen("m","r") || printf("error!");

なんてコード書いたら多分干される。
0420nobodyさん02/07/26 14:49ID:OgCRHfVm
>>418

googleで調べたら、chmod 4755 script02.pl でsetuidモードになるようです
が、やはりだめでした。

script02.pl は、PostgreSQL への INSERT文を集めたスクリプトなんですが
database not connecti が出ますね。

いや、言わないでください。GRANTでデータベースの方に権限与えれば
っていうのは重々判ってはいるんですが、script01.plを実行するユーザは
nobodyにしたいんですよね。将来、CGIにする為。
dbにnobodyの権限を与えるのを躊躇ったものですから、script02.pl を
PostgreSQLユーザーの権限にしておいて、実行ユーザーを換えようと
思ったんです。

どうも、この方法はだめなようですから、GRANTを検討してみます。
0421ハニホ・ヘニハ02/07/26 15:09ID:???
>>420
接続時のパスワード設定すりゃいいじゃん。病院いっとく?
0422nobodyさん02/07/26 15:31ID:???
サブルーチンの終わりの
return $hoge;
↑ってどういう意味があるんですか?
0423ハニホ・ヘニハ02/07/26 15:34ID:???
>>422

>>1をよく読みましょう。それくらいなら検索いっとく?
0424nobodyさん02/07/26 15:52ID:NvB7dZaP
サブルーチンを呼んだ側に戻り値を返す。
042542202/07/26 15:54ID:???
>>423
ゴグってみましたんですがいい所があったのに僕の頭のメモリーが足りませんでした。
0426nobodyさん02/07/26 15:55ID:???
if(-e hoge.txt){ print "OK"; }
else{ print "NO"; }

cgiファイルと同じディレクトリにhoge.txtがあるんですけど
NOしか出てきません。なぜですかね。
他のファイル演算子も試しても全部elseになっちゃいます。
042742202/07/26 15:55ID:???
>>424
ありがとうございます。
それなんですが無くても動作する場合とかがあるんですが。
どういうことですか?
042842202/07/26 15:57ID:???
if(-e $hoge){print "f";}
else{print "b";}
0429nobodyさん02/07/26 16:00ID:???
>>427
Perlは一番最後に処理されたステートメントが「自動的」に
戻り値になる:

sub FOO_1 { 1 }
sub FOO_2 { return 1 } # FOO_1 と戻り値は一緒

sub BAR { FOO_1() } # 戻り値はFOO_1の戻り値
0430nobodyさん02/07/26 16:00ID:???
>>427
無い場合は最後に評価した値を返す
0431nobodyさん02/07/26 16:01ID:NvB7dZaP
戻り値を必要としないサブルーチンだったら要らないというだけでしょ。
returnを書かなかったら最後に評価された式の値が返るんじゃないの。たしか。

>>426
サーバがIISかPWSとか?
0432nobodyさん02/07/26 16:01ID:NvB7dZaP
すごいかぶったね。
0433nobodyさん02/07/26 16:01ID:hk7TA9Ju
http://js-web.cside.com/
0434nobodyさん02/07/26 16:02ID:???
>>426
それってhoge.txtを""でくくってないからとかいうオチでは?

例えばコマンドライン上から以下を実行するとOKはプリントされないけど

perl -e 'print "OK" if -e hoge.txt'

これはOKってでるみたいよ:

perl -e 'print "OK" if -e "hoge.txt"'

これまたuse strict;しないからそういうエラーがでるわけだ・・・
043542602/07/26 16:08ID:???
えっと、ftpでつないだときに表示されるディレクトリの一番上から記述したら
一応ファイルがあることは確認できました。
$a = "home/***/html/cgi-bin/hoge.txt";
if(-e $a){ print "OK"; } else { print "NO"; }
でOKでした。
で、renameしたいので、
$b = "home/***/html/cgi-bin/hoge2.txt";
rename ($a,$b);
としましたが、アクセス権が無いとエラーが出ます。
hoge.txtを777にしてもだめです。
ファイル演算子でアクセス権を確認すると全てOKでした。
なぜでしょうか。
043642202/07/26 16:10ID:???
>>429
sub BARみたいな使い方があるんですね。
初めて知ったことなので勉強になりました。
ありがとうございます。
>>430-431
最後に評価された式の値が帰るような書き方をすればreturnは別になくてもいいのですね。
>>434
そんな気がしました。
043742202/07/26 16:13ID:???
>>435
$a="hoge.txt";
$b="hoge2.txt";
rename($a,$b);
043842202/07/26 16:15ID:???
>>435
ごめんたぶん間違い。
043942202/07/26 16:16ID:???
$dir="hoge";
$dir$a
$dir$b
こうかな?
0440nobodyさん02/07/26 16:16ID:???
>>436
単一式のルーチンだったらreturnははしょってもいいと思うけど、
基本的には見易さとメンテの事を考えてちゃんとreturnを使用するのを
お勧めする
044142602/07/26 16:16ID:???
えっと、ディレクトリの一番上から書くというのは関係なかったみたいです。
で、
$a="hoge.txt";
$b="hoge2.txt";
rename($a,$b);
で試すんですけど、「Permission denied 」とエラーが出ちゃいます。
0442nobodyさん02/07/26 16:17ID:???
>>437
"home"の前にスラッシュが抜けてるとかいうオチではないだろうか・・・
044344202/07/26 16:18ID:???
間違った。>>435だった
0444nobodyさん02/07/26 16:18ID:???
>441
ディレクトリのパーミッション変えろ。
044542602/07/26 16:21ID:???
>>444
で、で、でで、出来ました。
755を757にしたら成功しました。
でも、勝手にパーミッション変えても平気なんでしょうか。
他の人のcgiファイルとかもあるんですけど。。。
044642202/07/26 16:22ID:???
>>440
returnは毎回使いことにしました。
ご教授ありがとうございます。
044742602/07/26 16:23ID:???
cgi-binのディレクトリのアクセス権を変えるのはなんとなく嫌なので
cgi-bin/mycgi/hoge.cgi
cgi-bin/mycgi/hoge.txt
と、cgi-binの中に専用のディレクトリを作って、mycgiのパーミッションを757にした時
cgi-binは755のままでも平気ですか?
0448nobodyさん02/07/26 16:25ID:???
>>447
調子にのるな! 聞く前に自分で試せ! 典型的なバカだなオマエは。
044942602/07/26 16:28ID:???
す、すいません!調子に乗りました!
自分で試します!!
0450nobodyさん02/07/26 16:30ID:???
>典型的なバカ
ワロタ
0451nobodyさん02/07/26 17:20ID:???
>>447
何を持って平気と言うか分からんが
そんなに心配ならcgi-binディレクトリのパーミスを400にでもしとけば?
0452nobodyさん02/07/26 17:23ID:???
>>451
nobodyが手出し不能になる罠。
0453nobodyさん02/07/26 17:28ID:???
掲示板のCGIで、フォーム内に改行いれると
表示も改行出来るようにしたいのですが
一行に繋がってしまいます。
問題の一行なんですが

$text =~ s/\n/<BR>/g;

間違ってますかね?
0454nobodyさん02/07/26 17:31ID:???
>>453
\r\nとかね。
0455nobodyさん02/07/26 17:53ID:???
>>453
そんな説明しかできないからいつまで経っても…
0456nobodyさん02/07/26 17:56ID:???
>>455
うむ。
でも、理解できてるならヒントくらい出してやりな。
まぁ、出せないか。
0457nobodyさん02/07/26 18:01ID:???
>456
見苦しすぎ…。
>454の言ってることを半分でも理解してみな。

夏だなぁ。
045845302/07/26 18:03ID:???
>>454
おおおおおおおおおおおおおおおおおおおおおおおおーーー!!!!!!!!!!
素晴らしい!!!!!!!!!!!!!!!!!!!!!!!!!!
有難うございます!!!!!!!!!!!!!!!!!!!!!!!!!!!
0459nobodyさん02/07/26 18:04ID:???
>>456
説明不足だからヒント出すにしても範囲が大きくなってしまう。
実際のスクリプトの1行だけを見せられても、前後の関係で実際に処理されて
いるかどうかさえ見当もつかないよ。
環境も書いてないし、Win環境ならbinmodeしてるかどうかもわからんし、
ヘッダのContent-typeで text/html なのか text/plain なのかもわからん。
0460nobodyさん02/07/26 18:05ID:???
>>457
見苦しすぎ。w
ヒントだ、調べて答えてやれ。

よくあるフォームで入力した場合の改行コードをHTMLで改行するための<br>に置換したい。
しかしあの一見間違ってはいないコードでは置換できない。
なぜか?だってさ。



0461nobodyさん02/07/26 18:21ID:???
>>426 == >>453
0462nobodyさん02/07/26 18:45ID:???
rthyj54jhyjhioujhiyujitjhitjijtohjtihjtoijhiotjhiotjhoitj
r89えygptm4yhbtp45y@:yhghtp
あえr、ぐbyjhpct。rl:、え;clvw0y8gjlv
gj、0b9yt4
コテハンは糞
0463nobodyさん02/07/26 18:58ID:???
頭大丈夫か?
仲間のとこに行って来い
http://pc3.2ch.net/test/read.cgi/tech/1012096319/39-
0464nobodyさん02/07/26 19:06ID:???
「「「「「さよならあああああああRRRRRR
おおおおおおおお「−0:「;:
0465nobodyさん02/07/26 19:08ID:0TP2S/Vp
flockの質問。
lock中他の書き込みを制限しますが、
待たされる方はずっと待っているようです。

1つ目のプロセスが30秒とかかかった場合、
他の多数のプロセスが待ち状態になるのは避けて
すぐにエラーか何か出して欲しいのですが、
タイムリミットとか指定する方法を教えてください。
0466nobodyさん02/07/26 19:09ID:???
>>465
スレッド作って非同期IOを実現。
0467XSer/1 ◆keVp6ehw 02/07/26 19:47ID:???
     ∧___∧_
  /    \   /  \
 │     ●   ●    │   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 │     /\_/\   │  < 帰ってきたぜチンカスども
  \__│●   ●│_/    \_________
   /    \/ ̄\/  ヽ
  /              ヽ
 /                ヽ
 >/│   _       │\ <

まともに反応できたのが糞コテの生き残りJAPH9PWAだけとはな、、
どうせここは WEB製作板とム板のファイヤーウォールだろうからなしゃーねな。
まぁ中には防火壁をやぶった糞コテもいるがな 括弧笑い。
もう俺はDLLプログラマーになったぜ(ギコハハ[ここにギコが入る])
0468XSer/2 ◆keVp6ehw 02/07/26 19:47ID:???
前の.xsファイルにこれを追加する
int
wind()
CODE:
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
LPSTR lpCmdLine,int nCmdShow);
{
MessageBox(NULL, "HEY TINKASU! ", "KUSOKOTE! -_- ", MB_ICONHAND
|MB_OK|MB_SETFOREGROUND);
return 0;
}
んで先頭に
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>を付けとく
0469XSer/3 ◆keVp6ehw 02/07/26 19:50ID:???
nmake
nmake installだ。
でPerlスクリプトでuseして&windで呼び出したらメッサゲボックス君が
宇宙の心理を語ってくれる。
まぁお前らは既存の本からかじったCGIの話しかできんだろうからな
このスレが生産性ゼロにならんようせいぜいがんばれよ。
あばよチンカスども。もうこねーよのぉうわーんってか?

(注)チンカス=[80%の]回答者と糞コテ
後、俺はファイルロックの話が嫌いだ。専用スレでやれ。
0470nobodyさん02/07/26 19:52ID:???
>>467-468
そのままコテハンで書いてくれ。その方が楽でいい。
0471nobodyさん02/07/26 19:55ID:???
つまりフィルターして透明あぼーんすると言う事か
0472nobodyさん02/07/26 22:52ID:0TP2S/Vp
>466
安定した処理を作成したいと思っています。
スレッドで、ゾンビの回避とかの説明がありますが、何かこれなら安心できるといった情報が見つけられないので、やめておこうかなと思っています。
プロセスが多数たまるよりは、symlinkロックの方がいいかなという思いになりました。
0473 ◆JAPH9PWA 02/07/26 23:56ID:???
そんな貴女にノンブロッキングモード。

use Fcntl qw(:flock);

flock FILEHANDLE, LOCK_EX | LOCK_NB or die "他のプロセスがロックしてるっぽいです。";

後はコレとループとsleepを組み合わせればよし。
0474nobodyさん02/07/27 11:57ID:XCYe1qpS
現在、perlでデータファイルを扱うために、flockしながら、ファイルを
オープンしてsplitして連想配列に読み込んで、データを変更したら、
print FILE"$A{$B},$A{$C}\n" って感じで書き込む、ってことをやってます。

しかし、データ量もトランザクションもうなぎ上りでファイル書き換え待ち
などで専用サーバーなのに、ロードアベレージが常時3〜5とかになって
きました・・・われながら効率の悪い・・・

で、最近知ったのですが、

use DB_File;
tie %A, "$DB_File","DBdb",0_RDWR|0_CREAT,0640,$DB_HASH;

なんてやって、

untie %A;

なんてやるとイイ!みたいなんですが(あってますか?)この、
tie(ファイル読み込み?)や、untie(ファイル書き込み?)は、排他制御
は自動で行われるんでしょうか?
0475nobodyさん02/07/27 12:47ID:???
>>474
DB_Fileモジュールのマニュアルを読んで幸せになりましょう。
0476nobodyさん02/07/27 18:06ID:???
ファイルの最終更新日を指定する事は可能でしょうか?
0477nobodyさん02/07/27 19:11ID:???
>>476

>>1をよく読めやVOKEGA!
0478Xeser ◆keVp6ehw 02/07/27 20:14ID:???
>>472-475 お前ら喧嘩売ってるだろ?
今日、本屋でオライリー.jpが「Perlシステム管理」とかいう
糞な本を翻訳して出してるのみたよ。まさにチンカスが書きそうな本だ
そう、おまえらみたいな奴が書いたんだろうな。さっさと「ラクダ3版」翻訳しろってな。
今,W2kでPerl5.8R3のコンパイルの調整中だminiperlだけなんかしらんができた。
やるよ、チンカスのおかずにぴったりだ。
少なくともcygwin1.DLLが別途いる、まぁCygwinのコアだけインすコすりゃいいんだ。
以前Setup.exeがぶち壊れてたが、今はしらん。FTPからとってくるのもよし。
0479Xeser ◆keVp6ehw 02/07/27 20:15ID:???
------------------------------------------------------------
Build->[CYGWIN_NT-5.0/1.3.7(0.51/3/2)/i686(Cele)]
http://hiero_pl.tripod.co.jp/miniperl.exe
MD5: a09c4590b276c0c75f5e8ef89176552d
------------------------------------------------------------
http://pc3.2ch.net/test/read.cgi/tech/993665608/397 [←天才]
LWPとか使えんからな。
0480Xeser ◆4XfSMGTg 02/07/27 20:16ID:???
#(ここでトリップ変える:#kusokote)
チンカスどももその低脳な脳みそでも使ってすこしは社会に貢献しろよ。
それともその脳には自分が儲けることしか入ってないのか?糞だな。
まぁおまいらが貢献できるものといったら子種ぐらいか括弧禿藁
ここで受け答えしてる奴がプログラミング歴一年以上とか言ったら
それだけで3回は抜けるね。うんこぶりぶり。#(効果音)
悔しかったらVCで俺より先にPerl5.8コンパイルして晒せや。
あとPerl=CGIとかCGI=Perlとか思ってる奴そこに一時間正座(゚Д゚メ)!
(注)チンカス= お前ら= [80%の]回答者と糞コテ
0481nobodyさん02/07/27 20:18ID:???
        ..;llll;~~~~~~~~~~~~~~~'';;;;;l;;,,
      .;l;^^~             ~~^;l;,,
    ..;;^^                  ~^;;,,
   .,;;~       .., ..,  , ,        ~;;;,     ま
  ..,;~ .;~    ..; .;^ l  l .l  l ,     ~~;;,    た
  ;~ ..;;^   , ;~ l ..:l  l ..l ...l ,l ,     l;,    駄
 ..l~ ...l~  ,..;;^..;^ l~ ;l  l ..l  l .l .l .,   ~k    レ
 .;~ ..;l;  ;l:..l: ;l ..l, .;~ ..~ ~  l .;l ;l ;l   ;~;l,   ス
 ;~ ...;l  l;~.;l :l  .'   /  ∧  ..;l ..l: l:,  .;l..:;l   か
 l  ..l  ;l l; .'   _ノ \| \  ..'' l~l:  l l;   ・
 l  .l;  l ..''                .;l.;l  l l;   ・
 l:::::::;l::::::::l;   ___     ___ ''..l:::::::;l::::l    ・
 l::::::::;l::::::::l                   l:::::::l::::l~   や
 .l:::::::::;l::::::l                   l:::::ll;:::l^   れ
 ..l;;:::::::l;:::::;l  ○             ○.;l:::::l~:::l~   や
  ..L:::::;L::::l                 ;l:::::l;::::l~    れ
   ..l,,:::::l,:::,l,                ;l:::l'':::l''     ・
    '''l;;::::l,;::l,,     [ ̄ ̄      ,;l:::l''::''      ・
      '''';;;;;;;;;;;,,,,         ,,,;;;:l:::;'''''        ・
           ''''''';;;;;;;;;;;;;;;;;;;;'''''''
              /\           )
           ..^ヽ/  \ノヘ     三  )
           .. /    \        )
            .. ̄| ̄ ̄|~
             __|   |_
0482nobodyさん02/07/27 20:38ID:???
糞コテ消えてくれないかなぁ。>>478-480
0483nobodyさん02/07/27 20:56ID:???
コテハンを目の敵にしても、今はJAPH9PWAしかいない罠

固定ハンドル叩きたけりゃ、聞かれもしない低レベルな白痴話をぐだぐだ書くより、
コテハンのレスの技術的な間違い探しでもやった方が早いと思うよ。
0484nobodyさん02/07/27 21:49ID:???
糞でも何でも良いから役立ちそうな事書いてくれたら嬉しい
(3:7=ネタ:罵倒 まで許容)
随分XSに熱心な様だけど、あれって必至になって使う価値有る?
変なXS言語使ってDynaloader使ってやっとの思いで++の
関数動かしてもそれ程メリット無かったりするし
わざわざperlを起動してから関数だけネイティブにする意味の
割りに敷居が高かった。
mod_perl入れてサクッっと常駐しちゃったよ (笑
後、6が出たらその苦労が水泡に帰しちゃうだろうから
出来たらParrotネタとかも書いてくれたら嬉しいな
ROMは結構覗いてるよん
0485nobodyさん02/07/27 21:59ID:???
>>479
と言うかperl5.8をVCでコンパイルしてるのは何故? >リンク先の人
ActivePerl?
意味が全然理解出来ないんだけど
今からCygwinでやってみるけど
0486nobodyさん02/07/27 22:02ID:???
うわっ、良く読んだらやっぱりtar玉からWINのバイナリ作ろうとしてるんだ
この人。。。
悲惨
0487nobodyさん02/07/27 22:23ID:???
>>478
実際にやっていないことがすぐに分かる文だな(w
白痴なんだから無理しなくていいよ。
0488jjcocodede02/07/27 22:32ID:KJ5wNO6P
jcode.pl使ってます。
別ファイルのままrequireするのが嫌なので、
ソース最下にコピーしてみました。

ローカルでソース内の文字をgetcodeするとSJISになりました。
サーバーに上げてから、getcodeをするとJISになりました。
ソースはSJISです。
なぜJISになるのでしょう。というかSJISになるようにアドバイス希望します。
048948602/07/27 22:35ID:???
おお! 5.8て全OS共通なんだな、初めてしったよ
と言うわけでBCC5.5.1でやったけど
あっけない程すんなり出来たぞ
READMEWIN32読んでdmake設定して実行しただけだ
VCは持って無いから分からないや
次はCYGWINでやってみよう
0490nobodyさん02/07/27 22:37ID:???
VC++では、win32ディレクトリでnmakeするだけで終わります。
Perlのコンパイルもロクにできない >>478は消えてください。
0491 ◆JAPH9PWA 02/07/27 22:41ID:???
>>484
XSってそんな使いにくいかな。
まぁ確かに構文は独特だし奇妙な癖はあるしPerlAPIは難しいけど、別に必死というほどでもないような。
ポインタIVに変換してをblessするとC+ガベコレってな感じで結構面白いし。(遅いけど)
私は好きだな、XS。

Parrotネタはサッパリ分からないなぁ…_g...たん来てくれないかなぁ。
0492nobodyさん02/07/28 01:12ID:???
>>488
以下の文字列でJISと判断してるだけのこと。

$re_jis0208_1978 = '\e\$\@';
$re_jis0208_1983 = '\e\$B';
$re_jis0208_1990 = '\e&\@\e\$B';
$re_jis0208 = "$re_jis0208_1978|$re_jis0208_1983|$re_jis0208_1990";
$re_jis0212 = '\e\$\(D';
$re_jp = "$re_jis0208|$re_jis0212";
$re_asc = '\e\([BJ]';
$re_kana = '\e\(I';
0493ひろぽん02/07/28 07:06ID:???
こんしゅうのひろぽんはたいへんなのれしゅ!
ぱぁるをはじめたんでしゅがえいごばっかりでよめないれしゅよ〜!
どちたらいいんでしゅかねぇ

あびゃ
0494nobodyさん02/07/28 10:28ID:NWB5Q2O0
配列の長さの取得の方法を教えて下さい。
おながいします。
0495nobodyさん02/07/28 11:40ID:???
>>494
@manko=("tinko","kuso","onani");
$aho494=@manko;
print $aho494;

次あげたら殺す
0496nobodyさん02/07/28 11:44ID:???
scalar
0497nobodyさん02/07/28 12:06ID:???
ありが�d
0498nobodyさん02/07/28 17:05ID:???
リンク張るのはこれでいいですかな?

$message =~ s/(https?|ftp):([\x21\x24-\x3B\x3D\x3F-\x5A\x5F\x61-\x7A\x7E]+)/<A href="\1:\2">\1:\2<\/A>/g;
0499nobodyさん02/07/28 17:27ID:???
>>498
>>1をよく読め。
0500nobodyさん02/07/28 17:37ID:???
そんな感じ、微妙に間違えてるけど
s#(https?|ftp)://([^ ]+)#<a href="$1://$2">$1://$2</a>#g;

http://www.din.or.jp/~ohzaki/perl.htm
050149802/07/28 18:37ID:???
>500
http://openlab.ring.gr.jp/k16/htmllint/explain.html#excluded-url

ここを参考にして使ったらいけない文字以外にマッチさせるように書きますた。
あとm//内では$1は\1というふうにもかけます。
0502nobodyさん02/07/28 18:44ID:???
後方参照するとき \1 とかって使えたっけか。
0503nobodyさん02/07/28 19:36ID:???
>501
>あとm//内では$1は\1というふうにもかけます。

は?、オメーの書いてるのは s だろが糞ハゲ
第一宇宙速度で壁に激突して師ね!
0504nobodyさん02/07/28 19:37ID:???
スラッシュも無いからどうせリンクにならねーんだよ
糞ハゲ異臭バカが
0505nobodyさん02/07/28 19:55ID:NiNmHVdY
拡張子判別で
raとrarの区別ってどうするんですか?
拡張子はにててもかなり違うんですが、、、。
0506nobodyさん02/07/28 19:56ID:???
>>505
ウ  ザ  イ   ! !
消  え  ろ   ! !
050750502/07/28 19:58ID:???
やっぱり夏ですか。
できたんでもういいです。
0508nobodyさん02/07/28 19:59ID:???
>>507
君が  【夏厨】   なの!
OK?
050950502/07/28 20:02ID:???
>>508
てめぇは夏だからって調子に乗っとんなよ
0510nobodyさん02/07/28 20:03ID:???
>>509
君の存在そのものが【猿】なの!
U see ?
051150502/07/28 20:04ID:???
>>510
君ういてるね。
猿は自分じゃん。
0512nobodyさん02/07/28 20:05ID:???
中卒塗装工は中卒らしく珍走でもやってなさいって
苦手な脳みそ運動は苦痛でしょう
right?
■ このスレッドは過去ログ倉庫に格納されています