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

Perlコーディング初心者質問スレ Part 52

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2006/09/15(金) 14:01:51ID:gobry0n2
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >>2-10

前スレ http://pc8.2ch.net/test/read.cgi/php/1153987463/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0814nobodyさん2006/11/13(月) 17:01:43ID:???
>>813
以前の対話形式はppm-shell
コマンドラインなら
ppm command arg
でも行ける
# 殆どGUI版使ってないや
0815nobodyさん2006/11/13(月) 19:14:27ID:???
>>814
サンクス。
0816nobodyさん2006/11/13(月) 20:06:21ID:???
ppm ってインストール済のモジュールを一括してアップグレードできないんですか?
0817nobodyさん2006/11/13(月) 21:12:11ID:???
>>816
ppm upgrade -install
0818nobodyさん2006/11/14(火) 00:35:27ID:???
Perlは入門書を一冊読んで簡単な掲示板がやっと作れる程度のかなりの初心者なのですが、
CGIその1内のデータを、CGIその2に受け渡すにはどうしたらいいのでしょうか?

「アドレス?パラメータ」の形で、フォームのデータをやり取りするようにデータが渡せると
書いてあったので、「アドレス?a=$a&b=$b&c=$c」というようにすれば、CGIその1で
変数aに代入したデータをCGIその2に送ることが出来るかと思ったので、

require 'cgi-lib.pl';
&ReadParse( *form );
$a = $form{'a'};
$b = $form{'b'};
$c = $form{'c'};

として、

print "${a}${b}${c}\n";

と表示してみようとしても、どの変数も空のままなのか何も表示されません。

どうすれば、変数データ等はやり取りできるようになるのでしょうか?
0819nobodyさん2006/11/14(火) 01:02:20ID:???
>>818
<input type="hdden" name="a" value="value of a">
みたいにフォームに仕込むのが簡単かな。
クライアント側でいじれちゃうというデメリットがあるけどね。
0820nobodyさん2006/11/14(火) 01:58:17ID:???
>>819
早い回答ありがとうございます。
それでやってみます。
0821nobodyさん2006/11/14(火) 04:24:01ID:???
質問です
my $file = "no001.jpg";
print -s $file;
上記のようにファイルサイズを出力するスクリプトで
正規表現を用いて no???.jpg にマッチするファイルのサイズを表示させたいのですが
方法が思いつきません
分かるかたいましたらご指導お願いいたします。
0822nobodyさん2006/11/14(火) 07:25:09ID:???
言っとくがオレはopendir派だ
0823nobodyさん2006/11/14(火) 13:15:59ID:???
CGI出力時の改行コードは指定するにはどうすればよいのでしょう。
LFにしたいのですが、どうやってもCRLFになってしまいます。
自宅のwindows上でも、xreaでもCRLFで出力されてしまいます。
0824nobodyさん2006/11/14(火) 13:38:15ID:???
自己解決しました。
ちゃんと出力されていました。
ブラウザでの保存時に勝手に改行コードが変えられていたようです。
0825nobodyさん2006/11/14(火) 14:07:32ID:???
>>821
loopで回して同じことして加算すれば。loopは opendir 派でなければ
foreach $hoge (<no???.jpg>) {
}

コマンドラインでなら ls -l と awk で One Liner するけどね
0826nobodyさん2006/11/14(火) 15:06:38ID:???
Perlで特定のHTMLファイルの一部を抜き出して出力したいと考えています。

随時更新される Yahoo! のトップのソースぐらいぐちゃぐちゃ (文法もぐちゃぐちゃでテーブルレイアウト、勿論適切なidはついていません) なHTMLから
特定の場所のデータを抜き出して、変数に代入したいといった感じです。

<table>
<tr>
<td>AAA</td>
<td>BBB</td>
<td>CCC</td>
</tr>
<tr>
<td>DDD</td>
<td>EEE</td>
<td>FFF</td>
</tr>
</table>

例えば、上のようなテーブルのBBBの部分が随時かわるとして、それを動的に取得するかんじですね。
実際には外部のサーバのデータとなりますが、wget+cronで取得するつもりなのでそこはいいんですが、HTMLから
一部のデータを抜き出すのに便利なモジュールなどはありますでしょうか?

なかったら地味に自分でロジック組んで見ます。
0827nobodyさん2006/11/14(火) 15:37:42ID:???
$n= 1;
$get=($html=~ m#<td>(.*?)</td>#g)[$n];

そんなもんわざわざモジュール使わなくて書いたほうがシンプルじゃん
0828nobodyさん2006/11/14(火) 15:49:46ID:???
そんな単純なHTMLソースなわけないだろwww
でも正規表現でひっぱってくるしかないと思う
ソースの書き方が変わったら終わりだけど。
HTML::Parserみたいなのではないだろうし・・・
0829nobodyさん2006/11/14(火) 22:30:15ID:???
それpla(ry
0830nobodyさん2006/11/15(水) 11:31:14ID:???
miyagawa乙
0831nobodyさん2006/11/15(水) 22:37:01ID:???
自作のライブラリ、またはモジュールを用意しまして、
呼び元から利用可能なサブルーチンの一覧を得る方法はありますか?
0832nobodyさん2006/11/16(木) 01:05:15ID:???
オブジェクト指向を勉強するためにムーバブルタイプのソース見てるんですが、
これってお手本にしていいんでしょうか。
お手本的なコードを紹介してもらえないでしょうか。
0833nobodyさん2006/11/16(木) 01:52:46ID:???
my $name= 'test';
&$name;
sub test {
print 'test';
}
2行目ゎうそんこ。$nameを使って&testを実行することはできますか?
0834nobodyさん2006/11/16(木) 01:54:54ID:???
>831
main.plからFoo.pmを呼んでいるとして、
@Foo::EXPORTと@Foo::EXPORT_OKを確認したらいいんじゃないかと思う。
存在するとは限らないけど。オブジェクト指向なモジュールとかだとなにもエクスポートしないしね。
そうでなかったら直接シンボルテーブルを覗くとか。

>832
つttp://search.cpan.org/
0835nobodyさん2006/11/16(木) 01:59:33ID:???
>>833
それ自分で書いて、実行してみた?
use strict 'refs' してなければそれでいけるよ。
文字列をデリファレンスすると、自動的にシンボルテーブルからひっぱってくる。
0836nobodyさん2006/11/16(木) 02:04:27ID:???
>>833
$name = ¥&test; # use strict 'refs' OK
$name->();

$name = 'test'; # use strict 'refs' NG
$name->();

$name = 'test';
eval "$name()";

$name = 'test()';
eval $name;
0837nobodyさん2006/11/16(木) 02:11:57ID:???
>>835 ありがとうございます!!ちなみに3件ともわたくしでした。

833はuse strictしてる場合、エラーになりました。
'refs'はよくわからないので調べてみます。
そこだけno strictするのは素人ですか?
0838nobodyさん2006/11/16(木) 02:12:25ID:???
>>832
オレの書いたソース。



悪い例としてな。
0839nobodyさん2006/11/16(木) 02:19:01ID:???
いっそ無名で
my $name = sub {
print "test";
};
$name->();
0840nobodyさん2006/11/16(木) 02:20:04ID:???
ああ、意味わかんないや。837=831=832=833で834=835と決め付けてました。
834さんと836さんありがとう!!
0841nobodyさん2006/11/16(木) 02:22:36ID:???
>>837
'refs' を付けると、シンボリックリファレンス(文字列をデリファレンス)だけを制限できる。
この辺は perldoc strict 参照。

ちゃんと理解してて no strict するなら問題ないと思うよ。むしろ常套手段。
0842nobodyさん2006/11/16(木) 02:40:44ID:???
>>841 詳しいご説明、ありがとうございます!

外部ファイルからプラグイン的なものを自動取得する方法を考えてたんですが、
できそうな気がしてきました。サブルーチンを全部飲み込もうかと。
後から間違いだったと気づくかも知れませんが。
0843nobodyさん2006/11/16(木) 03:59:26ID:???
プラグイン使うようなコードかくんなら、Module::Plugableとか検討してもいいかもね。
0844nobodyさん2006/11/16(木) 11:46:04ID:???
プラグインで思い出した。
perl で作られた FreeStyle Wiki(ttp://fswiki.poi.jp/wiki.cgi)にもプラグインの機能が
あるけど、もしかしたら参考になるかも。
0845nobodyさん2006/11/16(木) 14:35:02ID:???
Plaggerもプラグイン使えるから参考になるかもね
0846nobodyさん2006/11/17(金) 01:51:27ID:???
わぉ、たくさん情報ありがとうございます!
今回たくさんWIKI系を参考にしてたんですが、FreeStyleはコメントが日本語なのもあって
見やすいですね。そしてざっと見ただけでも参考なるコーディングがすでに沢山見つかってます。
0847nobodyさん2006/11/17(金) 11:32:42ID:???
質問なのですが、>>827
(.*?) はどういう意味でしょうか?

「perl ".*?"」で5個以上の検索エンジンで検索したのに、全部記号部分が無視されましたorz

. = 任意の文字
* = 直前の文字を0回以上にマッチ
? = 直前の文字を0又は1回にマッチ

ですが、「.*?」 にする意味が分からないです。
08488472006/11/17(金) 11:46:48ID:???
ついでに "m#" "#g" と囲ってあるのも意味が分からない…。

m は 改行無視、gは繰り返しマッチ、だと思うんですが /mg をかっこよく左右に分離させて
バランス良く美しく書いている感じでしょうか?

何かいい解説サイトがありましたら教えていただけたら幸いです。
0849nobodyさん2006/11/17(金) 11:52:51ID:???
さんこーしょに普通に載ってるでしょ、、正規表現のとこ
ネットでも「Perl 正規表現」で複合検索かければイパーイあるでし
0850nobodyさん2006/11/17(金) 12:45:57ID:???
>>848
$get=($html=~ m#<td>(.*?)</td>#g)[$n];
$get=($html=~ /<td>(.*?)<\/td>/g)[$n];
同じ。
セパレータが違うのと、m演算子はセパレータが/の時だけ省略できる
(.*?)は任意の文字列
検索しても、読まないと意味が無いぞ!!
0851nobodyさん2006/11/17(金) 13:00:08ID:???
ふぅ…
0852nobodyさん2006/11/17(金) 13:08:37ID:???
任意の文字列なら .* でいいんじゃないの?

08538522006/11/17(金) 13:09:29ID:???
あ、量指定子での最短マッチか。
そまそ。
0854nobodyさん2006/11/17(金) 19:14:27ID:???
最短マッチってそうやるんだ・・・
([^<]+)<とかやってたよ
0855nobodyさん2006/11/17(金) 20:02:23ID:3ps2NDUf
my と local の違いをおしえてください
0856nobodyさん2006/11/17(金) 20:46:15ID:???
localのつかいかた
$hoge = 'ぺにす';
{
local $hoge; # ちょっとどいてね
$hoge = 'わぎな';
}
print $hoge;

myのつかいかた
{
my $hoge = 'ちんぽ'; # ぶろっくの中だけ使えるね
}
print $hoge;
0857nobodyさん2006/11/18(土) 00:00:27ID:???
卑猥だな
0858nobodyさん2006/11/18(土) 01:14:14ID:gJVNJgdH
SQLの話になってしまうのですが、SQL総合やSQL初心者的なスレッドがなかったので、
ややスレ違いかもしれませんが質問させてもらいます。

Perl+MySQLでプログラムを書いていまして、IDとしてオートインクリメントされる
フィールドを設けているのですが、INSERTでレコードを挿入したあとに、
オートインクリメントされた値を知りたい(変数に格納したい)のですが、何か簡単
な方法はありますか?
08598582006/11/18(土) 02:19:05ID:gJVNJgdH
自己解決しました。
0860nobodyさん2006/11/18(土) 14:01:48ID:???
>>856
わかりやすくてサンキュー
0861nobodyさん2006/11/18(土) 18:58:43ID:???
LWPを使ったリンクチェッカーを作りたいのですが、どの関数を使ったらいいか迷っています。
404だけでなく、ファイルが無ければ特定URLに転送される場合にも対応したいと思っています。

LWP::Simpleを使ってgetとheadで実験してみたところ、
共にリンク先が無い場合、転送先のページに飛んでそれを取得してきました。

head関数では($content_type, $document_length, $modified_time, $expires, $server)の配列が
返されるとのことですが、
$document_length→body部分の文字数
$modified_time→取得にかかった時間
という理解でよいのでしょうか?(質問1)

現在$document_lengthでリンク先の状態を判別しようと思っていますが、さらに精度のよい判別が
できる関数がありましたらご教授願いたいです。(質問2)
0862nobodyさん2006/11/18(土) 19:34:29ID:???
document_length ヘッダ除く本文の長さ
modified_time 最終更新時間

$response -> status_line;
08638612006/11/19(日) 02:39:50ID:???
LWP::UserAgentを使ってみました。
こんな感じのソースです。

#!/usr/local/bin/perl

# モジュールを保存した場所を指定
use lib qw(../../../perl/lib/perl5/site_perl/5.8.4);

# モジュールを使う
use LWP::UserAgent;

$ua = LWP::UserAgent->new;
$req = HTTP::Request->new('GET', 'http://yahoo.co.jp/');
$res = $ua->request($req);

$res->content;

print "Content-type: text/html\n\n";
print "<html><head><title></title></head><body>";
print "$res";
print "</body></html>";

すると、画面に「HTTP::Response=HASH(0x8309728)」とだけ表示されました。
16進数で何かしらのデータが受信して表示されていると思うのですが、$resが何なのか分かるように
表示するにはどうしたらいいのでしょうか?
0864nobodyさん2006/11/19(日) 02:44:49ID:???
perlのオブジェクト指向に慣れてないね。$resはオブジェクト。
だからrequestでgetしたデータは「$res->content」で返される。
つまりこうすれば良い↓

print "Content-type: text/html\n\n";
print "<html><head><title></title></head><body>";
print $res->content;
print "</body></html>";
08658612006/11/19(日) 03:35:42ID:???
なるほど、できました。
ご丁寧にありがとうございます。

$ua = LWP::UserAgent->new;
$req = HTTP::Request->new('GET', 'http://yahoo.co.jp/');
$res = $ua->request($req);

この場合だと、ここのスレッドが完了した時点で$res(物理的にはメモリ)に
http://yahoo.co.jp/」からのソースが保持されていて、
$res->contentその中からbody部分のデータを持った変数。

という理解でいいでしょうか?
0866nobodyさん2006/11/19(日) 04:01:31ID:???
オブジェクトと変数はだいぶ違うが、まぁ流れはそんな感じ。ただ、

>$res->contentその中からbody部分のデータを持った変数。

これは「$resの"content"に入ってるデータを引っ張り出す」と考えたほうが良い。
あとbody部分だけじゃなくて、head含めて全部だから。
0867nobodyさん2006/11/19(日) 11:27:48ID:???
オンメモリじゃなくて、LWPはファイルにも書き出せたはずだよ
0868nobodyさん2006/11/19(日) 15:38:26ID:???
質問させて下さい。

package Hoge;
use IO::File;
sub load {
my $fh = IO::File->new('test.txt','r');
my @tmp = $fh->getlines();
$fh->close();
}
1;

#!/usr/bin/perl
use IO::File;
my $fh = IO::File->new('test.txt','r');
my @tmp = $fh->getlines();
$fh->close();

パッケージだと $fh->getlines(); でエラーになります。
パッケージにする時って何か特殊な事をしないと駄目ですか?
0869nobodyさん2006/11/19(日) 17:06:20ID:???
>>868
どんなエラーですか?
Hogeパッケージの方はload()というサブルーチンのようですが、呼び出している部分がないので
どう使っているかわかりません。

Can't call method "getlines" on an undefined value

というエラーなら、newに失敗しているということでしょう。$fhをチェックすべきです。
0870nobodyさん2006/11/19(日) 17:19:22ID:Hl3UB+5J
Template-ToolKitで、一つのhtmlテンプレートの中で
FOREACHによるループ部分とそれ以外の差し替え部分を
同時にprocessするにはどうしたらいいんでしょうか?
08718682006/11/19(日) 17:53:17ID:???
>>869
>Can't call method "getlines" on an undefined value
このエラーです。

呼び出しは
#!/usr/bin/perl
use Hoge;
Hoge->load();
です。
0872nobodyさん2006/11/19(日) 21:19:45ID:???
>>871
私のところで動作させてみたら、エラーは出ずに動きましたよ。
IO::File->new の返り値を確かめましたか?

Hoge.pm
--------
package Hoge;
use IO::File;

sub load {
my $fh = IO::File->new('test.txt','r') or die $!;
my @tmp = $fh->getlines();
$fh->close();
return @tmp;
}
1;
--------

hoge.pl
--------
use Hoge;
print Hoge->load();
--------
0873nobodyさん2006/11/19(日) 21:59:36ID:???
>>872
らくだ本を買いに行ってました...
もう一度よく確認してみます。
ありがとうございました。
0874nobodyさん2006/11/20(月) 15:06:26ID:???
質問ですCarpでCGIのデバッグを行っているのですが
local $method = @_;
のように宣言する行で
Global symbol "$method" requires explicit package name at test.cgi line 74.
とエラーが出てしまいます
これはどういった原因が考えられるのでしょうか
分かるかたいましたらお願いいたします。
0875nobodyさん2006/11/20(月) 15:24:14ID:???
スカラ変数の中身が数値かそれ以外かを判断するにはどうしたらいいんでしょうか?
0876nobodyさん2006/11/20(月) 15:34:53ID:???
>>875
Scalar::Utilのlooks_like_number
0877nobodyさん2006/11/20(月) 15:50:27ID:???
>>874
エラーメッセージ読めばだいたいわかると思うが、さらに詳しくしりたければ
perldiag(1)を読め。

Global symbol "%s" requires explicit package name
(F) You've said "use strict vars", which indicates that all vari-
ables must either be lexically scoped (using "my"), declared
beforehand using "our", or explicitly qualified to say which pack-
age the global variable is in (using "::").

'use strict vars'が指定されているので、すべての変数は("my"を用いた)
レキシカルスコープの変数か、事前に"our"で宣言されるか、("::"を用いて)
明示的に修飾することでどのパッケージに所属するかを示したグローバル
変数でなければなりません。
08788752006/11/20(月) 15:51:17ID:???
>>876
ありがとう。
0879nobodyさん2006/11/20(月) 20:27:04ID:???
>874
サブルーチン 呼び出してるときに、値が入っていないのでは?

shiftしれば、その結果でわかるかと思う
0880nobodyさん2006/11/20(月) 20:51:34ID:???
>>879
use strict 下で宣言されてない変数を使おうとした時のエラーだって >>877 で書いてあるじゃない。
local は既に宣言されてる変数の値の変化を局所化するだけで、変数の宣言にはならないんだってば。
my か our で宣言しないとダメ。あやふやな回答は質問者を混乱させるだけだよ(´・ω・)
0881TORA2006/11/20(月) 22:44:57ID:a7JS476D

はじめまして
 
最近Perlを勉強しはじめたものなんですが
「数列を配列に入れ、偶数だけ表示させてください」
配列とかわかるのですが偶数だけ表示とかっていうのがわかりません。
周りの人に聞いても知らない人が多いので助けてください><
0882nobodyさん2006/11/20(月) 22:50:09ID:???
>>881
宿題は自分でやりなさい。

ヒント
1 % 2 = 1
4 % 2 = 0
0883nobodyさん2006/11/20(月) 22:51:03ID:???
>>881
考えるんだ
偶数と奇数の違いを考えるんだ
0884nobodyさん2006/11/20(月) 23:04:46ID:???
算数からか・・・
0885nobodyさん2006/11/20(月) 23:12:06ID:???
こうですか!?わかりません!
use strict;
use Math::BigInt;
use Tie::LazyList;
tie my @seq, 'Tie::LazyList', [ 1 ], sub { my($array_ref, $n) = @_; $n };
for my $n (1..20) {
 my $x = Math::BigInt->new($seq[$n]);
 print "$x\n" if $x->is_even;
}
0886nobodyさん2006/11/20(月) 23:15:17ID:???
% 2 より & 1 の方がいいと思うんだけど、何か問題あったりする?
0887nobodyさん2006/11/20(月) 23:17:56ID:???
どっちでもいい
ただ、4 % 2 = 0 じゃなくて 4 % 2 == 0
0888nobodyさん2006/11/20(月) 23:20:46ID:???
>>886
問題はないね。ただそれではたぶん >>881 がロジックを理解できない気がする。
0889nobodyさん2006/11/20(月) 23:24:26ID:???
>>887
トラップ入れといたつもりなのにぃ
0890nobodyさん2006/11/20(月) 23:29:40ID:???
>>886
$ perl -e 'print 1000000000000 & 1'
1
0891nobodyさん2006/11/20(月) 23:32:48ID:???
2.0とかでも大丈夫?
0892 ◆TWARamEjuA 2006/11/20(月) 23:47:51ID:????BRZ(6677)
あっちで使った技を取り入れつつ♪

my @Array = ( 1.. 1000 );
my %number;
@number{@Array} = (1) x @Array;

printf qq|%d\n|, $_ for grep not( $_ % 2), keys %number;

# 乱数っぽく♪
0893nobodyさん2006/11/20(月) 23:50:32ID:???
foreach(@rndnums){
print $_ if !($_ % 2);
}
0894nobodyさん2006/11/21(火) 00:03:52ID:???
田村清姫さんと空英彦さんが結婚しました。さてお嫁さんのなまえは何でしょう
0895TORA2006/11/21(火) 00:11:22ID:???
みなさん迷惑かけてすいませんでした。
みなさんの出してくれているソースがまったく理解できずにいます。
まだ勉強して無いところが多かったみたいです。
本当に迷惑かけてすいません。
0896nobodyさん2006/11/21(火) 00:11:36ID:???
井上順太郎
0897nobodyさん2006/11/21(火) 00:12:35ID:???
本当にどれも理解できないの?
だったら0から勉強しなおしなよ
0898nobodyさん2006/11/21(火) 00:19:46ID:???
だから初心者スレ来てるんじゃ
0899TORA2006/11/21(火) 00:20:49ID:???
0から始めたばかりなんですがmy@Array my%numberまだとか見たことないので
0900nobodyさん2006/11/21(火) 00:21:52ID:???
正規表現でHTMLタグを簡易的に表すことについて質問です!

1. <a href=~>
2. </a>

上記の二つを簡潔に表すのに、</?a\s*.*?>としてみたものの<a>というのにもマッチしてしまいます。
/があったら属性なし、/がなければ属性必須にするような後方参照は可能でしょうか。
よろしくお願いします!

# <a>がHTMLの文法として正しいのかどうかは知りません
0901nobodyさん2006/11/21(火) 00:25:44ID:???
>989
そんなんググるか、リファレンスとか持ってれば必ず載ってるべ?
理解しようとしない・調べようとしないでは、ここで聞くだけ無駄では?

>990
</?a\s*.+?>
はどう?
0902nobodyさん2006/11/21(火) 00:27:05ID:???
\s*←空白が無くてもマッチ
.*?←文字が無くてもマッチ
09039002006/11/21(火) 00:32:26ID:???
</?a\s*.+?>だと</a>がマッチしないんですよ。
/の有無で分岐するみたいな巧妙な文法ってないでしょうかね。
0904nobodyさん2006/11/21(火) 00:34:33ID:???
普通に|使えよ
0905nobodyさん2006/11/21(火) 00:39:43ID:???
あぁそっか+じゃだめだな
テキトーすぎですまそ
0906nobodyさん2006/11/21(火) 00:40:40ID:???
=~ #<a\s+.*?>|</a>#i
09079002006/11/21(火) 00:51:46ID:???
やっぱそれしかないですかね。正規表現はまだしらない機能がいっぱいなので、
ひょっとしてと思ったんですが。ありがとうございます。
0908nobodyさん2006/11/21(火) 00:53:27ID:???
>>900
実直に書いてみた。
my @str = ('<a href=...>', '</a>' , '<a>', '</a hoge>' ) ;

for my $str ( @str ){
 my $flag = 0 ;
 if ( $str =~ m{\<
       (/(?{ $flag = 1 })|(?{ $flag = 0 }))
      a
      (??{ $flag == 0 ? '\s+\S+.*?' : '' })
       \>}x ){
   print $str . "\n" ;
 }
}

アホす。
0909nobodyさん2006/11/21(火) 00:59:54ID:???
>>908
> (/(?{ $flag = 1 })|(?{ $flag = 0 }))
なるほど、|を使ってマッチしなかったときはフラグを上書きすりゃいいのか。勉強になった
0910nobodyさん2006/11/21(火) 01:13:46ID:???
m{</?(?(?<=/)a|a\s+.+?)>} # で実現できるけど、でも読める? ^^;
09119002006/11/21(火) 01:14:10ID:???
>>908 
すごいっす!今のところ全然意味が分からないですが、いずれ役に立ちそうな予感がします。
09129002006/11/21(火) 01:28:08ID:???
>>910
これだ!2つ目の?がif文になってるんですね。勉強になりました。
aを何とか一回に収めたいところですが、自分で考えてみます。
0913nobodyさん2006/11/21(火) 02:08:28ID:???
コーディングとはちょっと違うんですが、質問です。

CPANでモジュールをインストールしたいのですが、File::Copyというモジュールがインストールできません。
エラーコードは以下の通りでした。

cpan > install File::Copy
CPAN: Storable loaded ok
Going to read /home/account/.cpan/Metadata
Database was generated on Mon, 20 Nov 2006 05:24:36 GMT
Running install for module File::Copy
Running make for N/NW/NWCLARK/perl-5.8.8.tar.gz

The most recent version "2.09" of the module "File::Copy"
comes with the current version of perl (5.8.8).
I'll build that only if you ask for something like
force install File::Copy
or
isntall N/NW/NWCLARK/perl-5.8.8.tar.gz
Running make test
Make had some probrem, maybe interrupted?Won't test
Has no own directory
Running make install
Has no own directory
Make had some probrem, maybe interrupted?Won't install

サーバはさくらサーバです。
LWPモジュールはインストールできました。そのモジュールは5.8.4というフォルダ以下に入っています。

ご回答お願い致します。
レス数が900を超えています。1000を超えると表示できなくなるよ。