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

【Perl 】初心者コーナーPart7

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい01/09/12 13:04ID:???
いらっしゃーい、perlのコーディングで困ってる人のスレです。

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

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

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://corn.2ch.net/test/read.cgi?bbs=php&key=988809842&ls=50
CGIの質問はこちら【CGIだけど、なんか質問ある?part3】
http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833&ls=50

過去ログ、その他の役立ち情報は>>2-5を見よう。
0797名無しさん@お腹いっぱい。01/10/13 00:16ID:???
s{command.comからの相対パス}
{command.comというファイルが置かれている場所からの相対パス}
こう考えなさい。
0798名無しさん@お腹いっぱい。01/10/13 00:37ID:???
???(´Д`;)
ありがとうございますです。
とりあえず勉強不足過ぎという事ははっきりしました。
まぁ前からわかっていましたが…。

今日一日中このスレに常駐していた気がする。
勉強になるなぁ〜。
0799名無しさん@お腹いっぱい。01/10/13 19:06ID:Z60DF3aY
http://bulknews.net/lib/archives/Image-HTML-0.01.html

これすごすぎ、gifファイルをHTMLだけで表現している。
あんまデカイ画像するとブラクラになりかねんが、
0800名無しさん@お腹いっぱい。01/10/13 20:38ID:???
>>799
うひひ(w
こんな感じになるのか?
ttp://hi.sakura.ne.jp/~okada/table/mario_bs2.html
0801名無しさん@お腹いっぱい。01/10/13 21:10ID:rwndiC8E
>>800
そこはまだ同色のドットをつなげたりしてるからいいっすよ。
799のやつは全部1x1ドットに分解してた(呆

#これ見るためImage::Magickインストールしちゃったよ
0802名無しさん@お腹いっぱい。01/10/13 21:16ID:???

DHTMLは良いなあ・・・・
激しく無意味でイイ(・∀・)♪!
080379901/10/13 23:07ID:Z60DF3aY
すごいけど、実用性無いよね。
遊び以外で使うこと無いような。、
080479901/10/13 23:29ID:Z60DF3aY
http://r1.ugfree.to/~user03/image2html.html
試しに、某板看板をしてみました。
にしてもサイズがでかくなりますね。
33KB->3767KB になちゃう。
0805   01/10/14 06:40ID:9DG4zskV
困っております。
WIN98でapache web server と active perl使ってます。
htdocsフォルダから、とあるcgiファイルをディスクトップ上に移動して、
書籍のサンプルcgiファイル(←移動させたcgiファイルと同じもの)
をhtdocsフォルダにコピペしました。
でそのコピペしたcgiファイルを実行すると、ファイルのダウンロードの画面がでてしまい、
結局そのプログラムは実行されませぬ。
なんででしょう? スレ違いな質問かもしれませんがアドバイスお願いします。
0806名無しさん@お腹いっぱい。01/10/14 11:32ID:???
>>805
もともとhtdocsにあったCGIは動作してたん?
それなら後からいれたやつは拡張子が変なんじゃない?
(.cgiじゃなくて.plになってるとか)
080775301/10/14 12:10ID:NXFePnJM
>>775
なるほどー。その例はわかりやすいです。ありがと。

sub hoge(&) {…} を hoge {code}; と呼び出すつーのは
hoge(sub{code}) の省略なんだ。といまさらのように理解したおれ。
0808名無しさん@お腹いっぱい。01/10/14 12:18ID:???
>「テーブルアート」という言葉自体は自分が勝手に作った
>いわゆる「造語」でありますが、従来画像ファイルを用いて
>絵を、グラフィカルなページを作っていたと思うのですが、
>これをHTMLタグだけでなんとか出来ないだろうかという
>意味あるのか無いのか分からないような取り組みをして
>みようと思ったわけです。ここではそうして作った作品を
>総称してテーブルアートと呼んでおります。「テーブル」と
>呼んでいるのはHTMLタグで絵を描く際にもっとも多く使用
>するのが<TABLE>タグと呼ばれるものである事に起因しております。

だれでも考えつくが馬鹿馬鹿しくてやらないだけだと思われ。
0809名無しさん@お腹いっぱい。01/10/14 12:21ID:???
>>804
ブラウザ落ちたーよ。
0810名無しさん@お腹いっぱい。01/10/14 12:22ID:???
ただ馬鹿馬鹿しくも地道に作る根性は凄いね。
おれなら元画像にビットマップを用意してCGIで
自動でタグ書き出しちゃうけど、ドット単位になるから
でかいかな。
0811名無しさん@お腹いっぱい。01/10/14 12:30ID:???
>810
意味わからん。
0812名無しさん@お腹いっぱい。01/10/14 12:35ID:???
>>799のリンク先から http://bulknews.net/lib/archives/ に上がってみると
「ほとんどCPANに登録してます」と書いてあるんだけど
このImage::HTMLも登録するのだろうか。
0813蝶初審社01/10/14 19:02ID:/5Y8M3zo
ちょっと質問です。
$a="nanashi";
$aa="nanashisan";
の時、
print "$aa";
とすると、表示されるのはnanashia,nanashisanのどっちでしょう?

前者は$aの変数の値と文字列"a"で
後者は$aaの値です。

Javaとかだと、変数と文字列の区切りがあるのでわかりかったんですが。
よろしくお願いいたします。
0814名無しさん@お腹いっぱい。01/10/14 19:03ID:THG9awFD
質問する前に試してみない理由はなんなんですか
0815名無しさん@お腹いっぱい。01/10/14 19:05ID:r53mAll2
>814
ローカルでテストができずにサーバーに負担をかけるかもしれないと気を使ってる可能性もあるぞ。

>813
ローカルにサーバーを立てて試せ。
0816蝶初審社01/10/14 19:06ID:/5Y8M3zo
>>814
そういうわけじゃなくて、"区切り"って無いんですか?
ということを聞きたかったんですが・・・。
0817名無しさん@お腹いっぱい。01/10/14 19:08ID:???
>813,816
あるよ。
print "${a}a";
みたいに{}で変数名をかこむ。
0818名無しさん@お腹いっぱい。01/10/14 19:09ID:???
$a{a}
0819名無しさん@お腹いっぱい。01/10/14 19:10ID:???
 
0820蝶初審社01/10/14 19:30ID:???
>>817さん
出来ました。レスありがとうございました。m(. .)m
0821名無しさん@お腹いっぱい。01/10/15 18:29ID:6vdToKg4
$time=time;
@hoge=("1234567890","1234567899","1111111111")
foreach(@hoge){
if($_>$time){この要素を削除;}
}
みたいのを使いたいのですがうまい方法無いでしょうか?
私の貧脳では
foreach(@hoge){
if($_>$time){splice (@hoge,$count,1);}
$count++;
}
としか思いつきません。
こんなんあるぞというのあれば教えて下さい。
0822名無しさん@お腹いっぱい。01/10/15 18:34ID:???
@hage = grep { $_ <= $time } @hoge;
0823名無しさん@お腹いっぱい。01/10/15 18:55ID:6vdToKg4
>822
感謝です!!
どういう仕組みかわからないですけど使わせてもらいます。
ありがとうございました。
082482301/10/15 19:32ID:???
なるほど!
配列から$_<=$timeな要素を検索ですか!そして@hageへぶち込むと!
勉強になるですね。
0825822じゃないですが01/10/15 20:05ID:???
>823-824
念に念を入れる意味で補足しておきますが、
@hoge = grep { $_ <= $time } @hoge;  # 左辺の配列も@hoge
という風に、「自分自身にぶち込む」こともできます。
0826名無しさん@お腹いっぱい。01/10/15 20:17ID:???
>825
レスどうもです。
おっしゃる様に使わせてもらっとります。
ありがたや〜。(^人^)
0827名無しさん@お腹いっぱい。01/10/17 18:53ID:TnUIrJkb
配列から特定の要素を取り除くにはどうすればよいのですか?
0828名無しさん@お腹いっぱい。01/10/17 18:55ID:???
splice
0829名無しさん@お腹いっぱい。01/10/17 19:04ID:???
すいませんもうちょっと具体的にお願いします・・・。
えらそうですいません。。
0830名無しさん@お腹いっぱい。01/10/17 19:08ID:mFyYJQ/x
もうちょっと具体的に質問してください。お願いします。
「〜特定の〜」←ココんとこが特にわからん
0831JAPU ◆JAPUTeX. 01/10/17 19:16ID:???
828 ではないが...

perldoc -f splice で全てが解決する可能性が高いです。

@majokko = qw[mami emi pelsia yumi lala];
splice @majokko, 1, 2;
print "@majokko\n";

特定の値を持つ要素を削除したければ grep が使えます。

@majokko = qw[mami emi pelsia yumi lala];
@majokko = grep !/i$/, @majokko;
print "@majokko\n";

とか、

@majokko = grep { not 4 < length } @majokko;

とか。

----
質問するときは具体例まであげると良いかも。
0832名無しさん@お腹いっぱい。01/10/17 19:46ID:???
すいません書き忘れていました。(--;;
配列から特定の要素を取り出してその要素を先頭に移すのはどうすればよいのですか?
たとえば、@hoge = qw[abc acb asd afd wer];
とあって、asdと言う値を取り出してこの配列の先頭に移すにはどうすればよいのですか?
0833名無しさん@お腹いっぱい。01/10/17 19:56ID:???
http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
の677-683とか。

過去ログは貴重だな。
0834名無しさん@お腹いっぱい。01/10/17 20:24ID:???
ちょっと違うんじゃない
0835名無しさん@お腹いっぱい。01/10/17 21:57ID:2JY7Wh7v
2つのファイルで更新記録が古い方に書き込むことって出来ますか?
もしあるとすればどのように判断すればよいのでしょうか。
0836名無しさん@お腹いっぱい。01/10/17 22:00ID:???
-M
0837名無しさん@お腹いっぱい。01/10/17 22:20ID:???
stat()
0838名無しさん@お腹いっぱい。01/10/18 22:17ID:lS77su3d
cgiでラジオボタンやプルダウンメニューを表示する際、
あらかじめ表示される状態を変化させる方法はどうやったらいいのでしょうか?
<select name="number">
<option value="1">1
<option value="2">2
<option value="3">3
<option value="0"selected>0
</select>
selectedの位置を変化させるのだろうか?でもどうやって(??)もっとうまいやり方
があるのだろうか?という感じです。よろしくお願いいたします。
0839名無しさん@お腹いっぱい。01/10/18 22:20ID:???
>selectedの位置を変化させるのだろうか?
はい
0840名無しさん@お腹いっぱい。01/10/18 22:23ID:???
>838
俺のやり方の場合

$select[$number] = " selected";
print <<"EOF";
<select name="number">
<option value="1"$selext[1]>1
<option value="2"$selext[2]>2
<option value="3"$selext[3]>3
<option value="0"$select[0]>0
</select>
EOF
0841名無しさん@お腹いっぱい。01/10/18 22:24ID:???
タイプミス発見・・・。

$select[$number] = " selected";
print <<"EOF";
<select name="number">
<option value="1"$select[1]>1
<option value="2"$select[2]>2
<option value="3"$select[3]>3
<option value="0"$select[0]>0
</select>
EOF
0842名無しさん@お腹いっぱい。01/10/18 22:28ID:???
>>841
どうでもいいけど識別子をEOFにするのはおかしいような・・・
0843名無しさん@お腹いっぱい。01/10/18 22:51ID:gx0MC5aQ
以下の文章から任意の範囲を抜き出したいのですが、
どのような表記をすればいいのでしょうか?
<table>の属性なども不確定です。

<table><tr><td>
<table><tr><td>
<table><tr><td> --------------- この行から
題名

〜不確定内容〜

</td></tr></table> ----------------- この行まで
〜テーブル以外の長い要素が入る〜
フッタ
</td></tr></table>
</td></tr></table>

$str =~ m#(<table[^(<td)]+<td.+?題名</table>).+?フッタ#is;
とやってみましたがダメでした。

というか [^(<td)]+ みたいな使い方って正しいんでしたっけ?
「このグループ以外の連続」をやりたいのですが。
084484301/10/18 23:14ID:W7vPTi/j
>>843
なんかわかりにくい書き方だったので補足します。
ようするに

「題名」という文字から前に調べに行って、
最初の「<table」から取得したいのです。
0845840-84101/10/18 23:29ID:???
>842
すまない。
いつもはHTMLとか使ってて、でもそれだとカッコわるいかと思って
変えてみてた。(汗
そうだね、EOFはしない方がいいね・・・。
0846名無しさん@お腹いっぱい。01/10/19 01:02ID:AxUzxNAn
>>843
勉強のため、いっこ考えてみました。自信ないけど(滅

my $re1 = '<table[^>]*><tr[^>]*><td[^>]*>[^<>]*';
my $re2 ='</td></tr></table>';
$str =~ /($re1(?!$re1)題名.*?$re2)/is;
0847名無しさん@お腹いっぱい。01/10/19 01:43ID:LITbLOtt
>>843
こんなのも。
$first_str = '<table';
$last_str = '/table>';
$title_str = '題名';

$title_pos = index $str, $title_str;
$first_pos = rindex $str, $first_str, $title_pos;
$last_pos = index $str, $last_str, $title_pos;
$last_pos -= $first_pos - length($last_str);

print substr $str, $first_pos, $last_pos;
0848通りすがりですが01/10/19 01:56ID:???
>>847
これ勉強になります、こう言うのってつい正規表現に傾倒しちゃうけど
ループに入れたりして、特定タグ内を抜き出す時とか便利そうですね、 ふむふむ...
0849名無しさん@お腹いっぱい。 01/10/19 06:59ID:???
print <<EOF;
>>842
どうしてオカシイの? endが一杯になるから?
EOF
0850名無しさん@お腹いっぱい。01/10/19 07:10ID:???
End Of File じゃないからってことじゃない?
別にまずくは無いけど、意味上おかしいって意味でしょ。
0851名無しさん@お腹いっぱい。 :01/10/19 08:00ID:???
print '>>850 うん。でも、シンプル好き。';
0852名無しさん@お腹いっぱい。01/10/19 16:45ID:iY0U/7m6
「海」=「?」のような文字参照による文字列を
シフトJISまたはUTF-8に変換する関数ってありますか?
0853名無しさん@お腹いっぱい。01/10/19 17:01ID:???
>852 化けてて見えないっす。
文字参照詳しく知らんけど&harts;みたいなやつ?
0854初心者01/10/19 17:59ID:???
jcode.plじゃダメなの?
085585201/10/19 20:08ID:O4d9Rk3g
ありゃりゃ。&#28023; です >>853さん
jcode.plでは変換できませんでした>>854さん
0856名無しさん@お腹いっぱい。01/10/19 20:22ID:Y/1F1KjV
普通の回覧式の掲示板で、入力フォームを別にして、
入力と回覧を別にしたいのですが、どんなデコード処理を
したらいいんでしょうか? sub formにして入力画面のみの
サブルーチンを作ってみましたが、上手く入力に反映されません。
0857名無しさん@お腹いっぱい。01/10/19 20:32ID:???
>856
他人のCGIの改造?
Content-typeの吐き忘れじゃないの?
何がどう上手く動かないか詳しく説明して。
「上手く入力に反映されません」なんて、こっちからしたら
なにがどう上手く反映されてないかわからないんだから。
0858名無しさん@お腹いっぱい。01/10/19 20:34ID:???
てゆーか、「回覧式」ってなに?
BBSをみんなに回すの?
俺が知らないだけ?
だとしたらスマン。
0859名無しさん@お腹いっぱい。01/10/19 20:44ID:???
>>855
少しは過去スレ見ろよ。以前俺が答えたんだから間違いなくある。
#!perl
use 5.6.0;
my $a = '?';
$a =~ s/?([0-9A-Fa-f]+);/pack 'U', $1/ge;
__END__
あとは自分で考えろ。
086085901/10/19 20:46ID:???
げ、"?"になっちまった。
以下全て半角
#!perl
use 5.6.0;
my $a = '&#28023; ';
$a =~ s/&#([0-9A-Fa-f]+);/pack 'U', $1/ge;
__END__
0861名無しさん@お腹いっぱい。01/10/19 21:16ID:???
オコリナガラモシンセツナンダネ 860(・∀・)イイ!!
086285601/10/19 22:03ID:???
>>857-858
BBSは一覧表示型です。すみません、自己解決しました。
単なるスペルミスでした、お恥ずかしい。
どうもありがとうございました。
0863名無しさん@お腹いっぱい。01/10/19 22:33ID:???
@aaaから$cccだけを取り出したい場合、
foreach(@aaa){
@bbb = split(/<>/);
$ccc = @bbb[0];
}
とするのと
foreach(@aaa){
($ccc,$ddd,$eee) = split(/<>/);
}
とするのではどっちが効率的なんでしょうか?
後者で言う$ddd,$eeeは使わないんですが。
0864名無しさん@お腹いっぱい。01/10/19 22:40ID:???
>>863
その程度の差なら気にしなくていい。
微量な差が気になるならBenchmark.pmを使え。

因みに後者は
($ccc, undef, undef) = split(/<>/);
とした方が若干メモリの節約になる。若干だが。
0865名無しさん@お腹いっぱい。01/10/19 22:44ID:???
>862-864
foreach(@aaa){
$ccc = (split(/<>/))[0];
}
ってのはどうなんでしょう?
変わらない?
0866名無しさん@お腹いっぱい。01/10/19 22:44ID:???
ぐは、レス番ミス。
>863-864です。
0867名無しさん@お腹いっぱい。01/10/19 22:45ID:???
>>863
こんなのも。
@array = qw[a<>b<>c 1<>2<>3];
@result = map { (split /<>/, $_, 2)[0] } @array;
0868名無しさん@お腹いっぱい。01/10/19 22:45ID:???
>>864
なるほど。
大して変わらないなら余計な変数使わない前者の方が
ソースがスッキリしそうですね。(実際は11個の要素があるので。)

ありがとうございます。
0869863=86801/10/19 22:46ID:???
と、レスしてる間に3つも…。
0870863=86801/10/19 22:49ID:???
>>865
ありがとうございます。スッキリしますね。
>>867
初心者のため意味が…。
ちょっと勉強してきます。
0871863=86801/10/19 23:21ID:???
>>867
なんとか理解できました。
ありがとうございます。
0872名無しさん@お腹いっぱい。01/10/20 16:19ID:???
中級者 =
0873名無しさん@お腹いっぱい。01/10/20 19:24ID:???
foreach(@aaa){
m/^([^<>]*)<>/;
push(@ccc,$1);
}
0874名無しさん@お腹いっぱい。01/10/20 21:19ID:???
/(^<>^)/
0875名無しさん@お腹いっぱい。01/10/20 21:32ID:???
>873
正規表現は遅いでしょ。
foreach(@aaa){
$ccc = substr($_,0,index("$_","<>"));
}
0876名無しさん@お腹いっぱい。01/10/20 21:56ID:???
ハァ?
0877名無しさん@お腹いっぱい。01/10/20 23:55ID:???
>>875
perl -v
This is perl, v5.6.1 built for MSWin32-x86-multi-thread

use Benchmark;
my $line = 'aaa<>bbb<>ccc<>ddd';
timethese(2000000, {
t_split => q{ my $ccc = (split /<>/, $line, 2)[0]; },
t_substr => q{ my $ccc = substr($line,0,index($line,"<>")); }
});
__END__
Benchmark: timing 2000000 iterations of t_split, t_substr...
t_split: 5 wallclock secs ( 4.28 usr + 0.00 sys = 4.28 CPU) @ 467180.57/s (n=2000000)
t_substr: 5 wallclock secs ( 5.14 usr + 0.00 sys = 5.14 CPU) @ 389105.06/s (n=2000000)
087887501/10/21 00:07ID:???
>877
ほぅ。
それはしらなんだ。
サンクス。
0879名無しさん@Emacs01/10/21 00:15ID:Xm/NF+m9
このスレ、毎日きっちり読んでいけばかなり上達しそうな気がする・・・
0880名無しさん@お腹いっぱい。01/10/21 00:41ID:???
use Benchmark;
my $line = 'aaa<>bbb<>ccc<>ddd';
timethese(2000000, {
t_split => q{ my $ccc = (split /<>/, $line, 2)[0]; },
t_substr => q{ my $ccc = substr($line,0,index($line,"<>")); },
t_reg => q{ my $ccc = ($line =~ m/^([^<>]*)<>/)[0]; }
});
__END__

Benchmark: timing 2000000 iterations of t_reg, t_split, t_substr...
t_reg: 4 wallclock secs ( 3.74 usr + 0.00 sys = 3.74 CPU)
t_split: 6 wallclock secs ( 5.12 usr + 0.00 sys = 5.12 CPU)
t_substr: 5 wallclock secs ( 5.83 usr + 0.00 sys = 5.83 CPU)



This is perl, version 5.005_03 built for MSWin32-x86-object
0881名無しさん@お腹いっぱい。01/10/21 01:29ID:???
配列から重複要素を取り除く方法で、、
@aray = ('apple','orange','apple','melon','apple','orange');
@dummy{@aray} = (); ####この行
@disp = keys(%dummy);

###の左辺では何が起きているのでしょうか、@と言うのが分かりません。
$dummy{@aray}にしてみると要素数が入ってるし。。。
%dummyはハッシュですよね?  難しいです
0882REN01/10/21 01:37ID:T+S0eZYV
Perlで掲示板を書いたんですが、日本語がうまく表示されないです。
jcodeはちゃんと置いてるんですが。なにかほかの原因がありますか?

ソースが必要ならtxtでアップします。
0883名無しさん@お腹いっぱい。01/10/21 01:39ID:???
>>881
スライスについて調べてみれ。

スライスの例として、
@aray = ('apple','orange');
@dummy{@aray} = (1,2);
は、
$dummy{apple} = 1;
$dummy{orange} = 2;
と等価。
0884REN01/10/21 01:47ID:T+S0eZYV
>>882 ソースです。どなたかお願いします。
http://www25.tok2.com/home/rensphoto/bbs-a.txt
http://www25.tok2.com/home/rensphoto/bbs-a.cgi
0885名無しさん@お腹いっぱい。01/10/21 01:48ID:???
>882
まずHTMLソースを確認する。
ソースが文字化けしていなければ、文字コードの認識ミス。
METAタグとかで文字コードを指定しよう。
詳しい事はWEB製作板に。

HTMLソースが化けているとしたら、原因はそれ以外。
特定の文字だけ化けるのか全体が化けるのかにもよる。
特定の文字だけ化けるなら「予」「表」「ソ」などが使われている場所で
ないか確認。
文字化けする1文字目の後ろに「\」を入れてみる。
ただしこれはs-jis限定、eusでは起きない。

HTMLソース全体が化けるなら、CGIのソースを見せてほしい。
0886名無しさん@お腹いっぱい。01/10/21 01:49ID:???
>>883さん
有難う御座います。
スライスの添え字はリストコンテキストですよね、でも
@dummy[@aray] では駄目なんですよね、これは左辺に有るからですよね。
それで、何故か連装配列になってる!
んー、難解ですぅ、、perldocかなぁ、、、
0887名無しさん@お腹いっぱい。01/10/21 01:49ID:???
>884
jcode.pl置いてるだけで使ってないじゃん・・・
0888名無しさん@お腹いっぱい。01/10/21 01:53ID:???
>884
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
&jcode'convert($name,"sjis");

これを$i=0;の上くらいに置こうね。
0889REN01/10/21 01:53ID:T+S0eZYV
>>887
require './jcode.pl';
これじゃダメなんですか....?
0890名無しさん@お腹いっぱい。01/10/21 01:54ID:???
あ、分かりましたです。。>>883さん (^_^ ;)
ハッシュスライスって言うのかぁ、、{}でハッシュスライスである事を
明示するんですね、なるほど〜
0891名無しさん@お腹いっぱい。01/10/21 01:55ID:???
ダメって言われても、、、、取り合えず>>2のリンク一周しといで
0892REN01/10/21 01:56ID:T+S0eZYV
>>891
今からいってきます...。
0893REN01/10/21 02:12ID:T+S0eZYV
>>888
やってみましたが、どうもダメみたいです.....。
0894REN01/10/21 02:17ID:T+S0eZYV
>>893
すいません、うまくいきました。
これからいろんなスレ読んで勉強してきます。
ありがとうございました。
0895名無しさん@お腹いっぱい。01/10/21 14:02ID:yRzQNOPj
連想配列の keyの部分を正規表現で指定することって
できるのでそしょうか?

イメージとしては
$HASH = ( '20010930'=>'9/30', '20011001'=>'10/1', '20011002'=>'10/2');
delete $HASH{/^200110/};

みたいにまとめて消せればなぁと思いまして。
foreach $key( keys %HASH ){
 delete $HASH{$key} if $key =~ /^200110/;
}
ってやるしかないでしょうか?
089689501/10/21 14:04ID:yRzQNOPj
もうひとつ。
%HASHB = %HASH{/^200110/};
みたいな。感じのことができればいいかなと。
さすがに無理ですか?
■ このスレッドは過去ログ倉庫に格納されています