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

Perl コーディング初心者質問コーナー Part37

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/22 01:41ID:???
Perlのコーディングで困ってる人のスレです。
誰もが最初は初心者。
だからって、初心者に甘んじた質問の仕方は意味がないよ。

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

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

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

過去ログやお勧めサイトは >>2-10
0281nobodyさん04/09/07 22:54ID:???
>>278
PHP:
$str = "3SHRUNYAXA";
print strtr(\$str,"AIUEO", "aiueo"), " ", $str;

Perl:
$str = "3SHRUNYAXA";
print $str =~ tr/AIUEO/aiueo/ . " " . $str;

どちらも3 3SHRuNYaXaと表示。
028225904/09/08 00:54ID:mcKNZ5q4
>>270,271
有難うございます。

って、全部英語なんですね・・・ 読めません(w;
0283nobodyさん04/09/08 01:43ID:???
( -д-)=3 ハァ〜
0284nobodyさん04/09/08 05:39ID:???
>>282
お前はぴゅう太でも使ってろ
0285nobodyさん04/09/08 08:57ID:???
ぴゅう太てなんすか。
0286nobodyさん04/09/08 09:00ID:???
日本語Gベーシック(・∀・)イイ!!
0287nobodyさん04/09/08 09:17ID:???
>>285 オワリ
0288nobodyさん04/09/08 12:26ID:???
>>285
pythonのことだよ
0289nobodyさん04/09/08 21:38ID:bxg/BX6l
指定したテキストファイルに記載してある
[email protected]
[email protected]
・・・
などのメールアドレスを読み込ませて、
一致しなければ、”未登録です”と表示させたいのですが、
ファイルに登録してあるメールアドレスも未登録だと表示されてしまいます。
もう半日以上いろんなサイトを見ながら試行錯誤していますが、
一向に解りませんでした。
どなたかご教授ください。


#メールアドレスの登録チェック
$a=0;
open(IN,"$mailfile") || &error("Open Error: $mailfile");
while (<IN>) {
($eml) = split(/\n/);
if ($in{'eml1'} ne $eml) { $a++; last; }
}
close(IN);

if ($a) {
&error("$in{'eml1'}は未登録です。");
0290nobodyさん04/09/08 21:44ID:???
>>289
ne → eq
if ($a) → if (!$a)
029128904/09/08 21:53ID:bxg/BX6l
>>290

素早いレスありがとうございます!
長時間悩んでいた自分が馬鹿でした・・・orz
0292nobodyさん04/09/09 00:28ID:???
&uho;と&uho();は全く同じですか?
0293nobodyさん04/09/09 00:29ID:???
意味不明
0294nobodyさん04/09/09 00:37ID:???
292で言いたかったのは、
引数が空なのにわざわざ()を付ける意味はあるんですか?
()は書いても書かなくても同じですか?
ということです。
0295nobodyさん04/09/09 00:51ID:???
コードの見易さが全然違う。
0296nobodyさん04/09/09 00:53ID:???
レスありがとうございます。
納得しました。
0297nobodyさん04/09/09 02:56ID:???
>>292-296
挙動も違うがな。
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlsub.html
0298nobodyさん04/09/09 08:53ID:???
&foo(); # 空リストを渡す
&foo;  # &foo(@_) と同じ

よって、&foo ≠ &foo()
0299nobodyさん04/09/09 17:36ID:wkS7yjyl
時間について質問
$tim = time;
で$timに「1094716247」といった10桁の数字が入りますが
この数字の内訳(? というかしくみを教えて欲しい・・・

やりたいことは
$dat = date('Y.m.d H:i', time());
で$datに入る「2002.09.09 15:00」といった文字列を
上の10桁の数字に変換することなのですが。
おねがいします。
0300nobodyさん04/09/09 17:40ID:???
>>299
ttp://x-web.pobox.ne.jp/fcgi/fcgi_07.html
0301nobodyさん04/09/09 17:56ID:???
>>299
localtimeの逆をやりたいなら
use Time::Localをしてtimelocal関数を使う
0302nobodyさん04/09/09 21:24ID:???
テスト的に作ったtimelocalもどき。もっとマシなロジックにしたいのぉ。
sub timelocal {
my ($sec,$min,$hour,$day,$mon,$year) = @_;
my @month = (31,28,31,30,31,30,31,31,30,31,30,31);
$year += int($mon/12); $mon = $mon%12; $hour -= (localtime(0))[2];
my $days = -719162;
$year += 1899; $days += $year*365 + int($year/4) - int($year/100) + int($year/400);
++$year; if ($mon > 1 && (!($year%400) || (!($year%4) && ($year%100)))) {++$days}
while (--$mon >= 0) {$days += $month[$mon]}
$days += $day-1;
return((($days*24+$hour)*60+$min)*60+$sec);
}
0303nobodyさん04/09/09 22:12ID:???
>>302
ばぐハケーン!!
0304nobodyさん04/09/09 22:13ID:???
>>302
うんうん、見ただけで使いたとは思わなくなる。
0305nobodyさん04/09/09 22:16ID:???
コード読む気にもナラネ
0306nobodyさん04/09/09 23:32ID:???
>>303=>>304=>>305?
0307nobodyさん04/09/09 23:39ID:???
>>302=>>306
煽られたからってそう怒らないでね
0308弱杉04/09/10 03:32ID:+ZeQb9+r
(ここへの書き込みとしてふさわしいかは分らないのですが...)
perl (ver.5.00503)で、特定デレクトリを丸ごと圧縮(zipかlzhが希望)する必要が在り調べたのですが、
Archive::zipというモジュールが必要らしいと分りました。
しかし、このスクリプトの置き場所はレンタルサーバ(ア_ル)で、モジュールの追加インストールが出来ません。
zipもしくはlzh圧縮が可能なライブラリって無いでしょうか?
ご存知の方がいらっしゃったら教えていただけると大変、大変助かります。
どうぞよろしくお願いします。
(この質問はモジュール板の方が適切なのでしょうか? それさえも分らんのデス...)
0309nobodyさん04/09/10 04:27ID:???
Archive::zipはデフォルトでperlに入っているようだが。
0310弱杉04/09/10 04:49ID:+ZeQb9+r
鯖内のモジュールの検索したんですが見当たりませんでした。。。
ア_ルから、ちょっと前にもらったモジュール一覧にも入ってなかったでんす。
私の勘違いでしょうか。。。
0311nobodyさん04/09/10 05:24ID:???
>>309
ActivePerl Build 810 (5.8.4 相当) なら入っているが、Build 522
(5.005_03 相当) には入っていないし、(素の) Perl ではどのヴァージョン
でも入っていない。ActivePerl 系でも lib/ の方ではなく site/lib/ の
方に入っているから標準モジュールでないと分かる。
http://perl.infoware.ne.jp/documents.html

>>310
Archive::Zip 自体は Pure Perl なモジュールだからコピーすればいいが、
中で非標準モジュール且つ要コンパイルの Compress::Zlib を使っている。
サーバに用意されていなければこれを Compress::Zlib::Perl に置き換え、
必要なモジュール一式を任意のディレクトリに置いて使えばいい。

もしくは、サーバに zip や lha がインストールされているなら system() で
呼ぶ方が楽だろう。
http://perldoc.com/perl5.8.4/pod/func/system.html
0312299 04/09/10 11:56ID:???
>>300-302
最初のリンク参考になりました。
自分にはまだ難しすぎるようです・・・
他の方法を考えます。
ありがとうございました。
0313nobodyさん04/09/10 12:07ID:???
>>312
数字(秒数)のまま扱うってこともあり。
2chのスレNoみたいに。
0314nobodyさん04/09/10 12:19ID:???
>>312
>>301が答えを書いてるじゃん
0315nobodyさん04/09/10 13:50ID:???
>>299
Time::ParseDate使えば一発だよ。

use Time::ParseDate;
print parsedate("2002.09.09 15:00");
0316弱杉04/09/10 19:31:54ID:+ZeQb9+r
>>311

お返事ありがとうございます&カメレスですんませんです。
Archive::Zipで必要とされているモジュールで、やはりCompress::Zlibのみありませんでした。
そこで、Compress::Zlib::perl ver.0.02 (不安なバージョンですが..)をCPANからDLしました。
でも、解凍するとMakefile.PLとかPerl.pmとかが入っていてそこでお手上げです...(レンタル鯖しかいじった事無い厨なので、Makeとか分らんのです)
Zip.pmとcompress_zip.pm(?) を置いて、Zip.pmからuseの代わりにrequireするだけとか勘違いしてました。
Compress::Zlib::perlはMake(?)しないとライブラリファイルにはならないのでしょうか?

また、鯖内のコマンド検索をしたら、gzipというのがは使えるみたいですが(pathは /usr/bin/gzip)、これは通信時の圧縮専用のものでアーカイブを作るのには使えないのでしょうか?

引き続きご指南いただければ幸いです。宜しくお願いします。
0317nobodyさん04/09/10 20:20:41ID:???
>>316
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlmod.html
http://www.linux.or.jp/JM/html/GNU_gzip/man1/gzip.1.html

ちなみに gzip は Windows や Mac で良く使われる ZIP (PKZIP)
とは別形式。圧縮のみを担当し、複数ファイルをまとめる
(アーカイヴ) 機能は無いので、tar と連携させる事が多い。
Perl と関係ないので詳しくは余所で尋ねて。
0318弱杉04/09/10 20:46:34ID:+ZeQb9+r
>>317
お返事ありがとうございます。gzipに関しては参考URLで理解出来ました。
もう一点の『perlでのzipアーカイブの作成方法』についても
余所で訪ねた方がよろしいでしょうか?(モジュール関連スレとかに行けばよろしいですか?)

いちいちつまらん質問ですみません。。。
0319nobodyさん04/09/11 02:24:58ID:???
Perlモジュールについて
http://pc5.2ch.net/test/read.cgi/php/997829243/

CGIに依存しないPerlの話題一般/Part2
http://pc5.2ch.net/test/read.cgi/php/1030548610/
0320弱杉04/09/11 02:38:55ID:cyd1fAb1
>>319

ご指南ありがとうございました。そちらの板にいってきます。
スレ汚し、大変失礼しました。
0321nobodyさん04/09/11 05:03:25ID:???
失礼します。クッキーを用いて、入力したフォームの情報を一時記憶させようと思っています。
しかし、以下のソースだと何故かクッキーには書き込まれるのにフォームに既入力の状態になりません。
何がおかしいのか見ていただけないでしょうか?一つ目のソースはこれです。

$cookie_id = 'regist';
&get_cookie();
$name = $cookie{ 'name' };

print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n\n";

print <<"HTML_TAG";

<html><head></head><body>

<Form action="registration.cgi" method="POST">
<table width="600">
<tr><td><input type="text" name="name" size="20" value="$name"><input type="submit" name="regist" value="確認画面"></td></tr>
</table>
</FORM>
</body>
</html>
0322nobodyさん04/09/11 05:03:54ID:???
HTML_TAG

sub get_cookie {
my( $cookie_name, $value );
foreach ( split( /; /, $ENV{ 'HTTP_COOKIE' } ) ) {
( $cookie_name, $value ) = split( /=/ );
$cookies{ $cookie_name } = $value;
}
foreach ( split( /&/, $cookies{ $cookie_id } ) ) {
( $cookie_name, $value ) = split( /:/ );
$cookie{ &unescape( $cookie_name ) } = &unescape( $value );
}
}

sub unescape {
my( $data ) = @_;
$data =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1) )/ge;
return $data;
}
exit;
0323nobodyさん04/09/11 05:04:18ID:???
HTML_TAG

sub get_cookie {
my( $cookie_name, $value );
foreach ( split( /; /, $ENV{ 'HTTP_COOKIE' } ) ) {
( $cookie_name, $value ) = split( /=/ );
$cookies{ $cookie_name } = $value;
}
foreach ( split( /&/, $cookies{ $cookie_id } ) ) {
( $cookie_name, $value ) = split( /:/ );
$cookie{ &unescape( $cookie_name ) } = &unescape( $value );
}
}

sub unescape {
my( $data ) = @_;
$data =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('C', hex($1) )/ge;
return $data;
}
exit;
0324nobodyさん04/09/11 05:05:28ID:???
二つ目のソースはこれです。ここで、クッキーに書き込みはされるのですが、一つ前に戻ると
クッキーには確かに情報が入っているにもかかわらず、テキストボックスには何も表示されません…。

require "./sub_getparam.pl";# データ取得用サブルーチン
require 'jcode.pl';

$cookie_id = 'regist';

read( STDIN, $query, $ENV{ 'CONTENT_LENGTH' } );
&getparam( $query );

$name = $param{ 'name' };
$cookie{ 'name' } = $name;
&set_cookie();

print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n\n";

print <<"END";

<html><head></head><body>

<p><B><font color="red">内容を確認してください。</font></B></p>

<Form action="registration_complete.cgi" method="POST">
<table><tr><td>名前</td><td>$name</td></tr></table>
<input type="hidden" name="name" value="$name">
</form></BODY></HTML>

END
0325nobodyさん04/09/11 05:06:02ID:???
sub set_cookie {
my( $new_cookie, $date );

@pairs = ();
foreach( sort keys %cookie ) {
push( @pairs, &escape( $_ ).":".&escape( $cookie{ $_ } ) );
}
$new_cookie = join( '&', @pairs );
$date = &gmt_date( time + 86400 * 120 );
if ( $new_cookie ne $cookies{ $cookie_id } ) {
print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
}
}


sub escape {
my( $data ) = @_;
$data =~ s/(\W)/sprintf( "%%%02X", unpack('C', $1 ) )/ge;
return $data;
}

sub gmt_date {
my( $data ) = @_;
( $sec, $min, $hour, $day, $mon, $year, $wday ) = gmtime( $data );
return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",
( Sun, Mon, Tue, Wed, Thu, Fri, Sat )[ $wday ], $day,
( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec )[ $mon ],
$year + 1900, $hour, $min, $sec );
}
exit;
0326nobodyさん04/09/11 05:07:00ID:???
sub set_cookie {
my( $new_cookie, $date );

@pairs = ();
foreach( sort keys %cookie ) {
push( @pairs, &escape( $_ ).":".&escape( $cookie{ $_ } ) );
}
$new_cookie = join( '&', @pairs );
$date = &gmt_date( time + 86400 * 120 );
if ( $new_cookie ne $cookies{ $cookie_id } ) {
print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
}
}


sub escape {
my( $data ) = @_;
$data =~ s/(\W)/sprintf( "%%%02X", unpack('C', $1 ) )/ge;
return $data;
}

sub gmt_date {
my( $data ) = @_;
( $sec, $min, $hour, $day, $mon, $year, $wday ) = gmtime( $data );
return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",
( Sun, Mon, Tue, Wed, Thu, Fri, Sat )[ $wday ], $day,
( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec )[ $mon ],
$year + 1900, $hour, $min, $sec );
}
exit;
0327nobodyさん04/09/11 05:10:00ID:???
>>321
長杉。
0328nobodyさん04/09/11 05:24:21ID:???
age
0329nobodyさん04/09/11 05:45:52ID:???
え〜と、、、
ソースを見ずにレス。
(´-`).。oO(見る気がおきねーよ)

「一つ前に戻ると」と書いてある。
つまりキャッシュされたページを見てると…
0330nobodyさん04/09/11 09:03:38ID:???
(;゚Д゚)
0331nobodyさん04/09/11 09:30:58ID:???
くっきー発酵と同一セッションで読み込んでんじゃねーの?
ソースみてないから推測だが
0332nobodyさん04/09/11 10:37:18ID:???
CGI.pm使って書き直してダメならもう一回来い
0333nobodyさん04/09/11 11:28:31ID:???
本当にクッキー読み込めているのか?
値を取り出して表示させるとか切り分けしてみ。

読む気にならんからこんなとこだな。
0334nobodyさん04/09/11 19:54:24ID:3nx87n19
Perlのバージョンは4.0.1.8です。バージョンが古い為なのか、
以下の様なsprintfを含んだスクリプトが使用できずエラーと
なってしまいます。どなたか、Perlの環境は変えずに、代わり
となるスクリプトがあれば教えて頂けませんか?

&SUB(sprintf "%02", $a - 1);

sub SUB{
  my $value = shift @_;
  system "$SHELL_COMMAND $value";
}
0335nobodyさん04/09/11 19:58:22ID:3nx87n19
>>334です。

すいません。スクリプトが間違えていました。

&SUB(sprintf "%02d", $a - 1);

sub SUB{
  my $value = shift @_;
  system "$SHELL_COMMAND $value";
}

0336nobodyさん04/09/11 20:06:17ID:???
( )
0337nobodyさん04/09/11 20:41:24ID:3nx87n19
>>334です。

何度もすいません。335のコメントが紛らわしかったので
再度書き込みました。
335で書いたスクリプトが正しいのですが、それでもエラーと
なっていますので、どなたか、代替のスクリプトがありましたら
教えて下さい。宜しくお願いします。
0338nobodyさん04/09/11 20:45:06ID:???
my
0339nobodyさん04/09/11 21:00:41ID:???
>>334はマルチポストだってよ
0340nobodyさん04/09/11 22:07:01ID:???
あっさり解決か
0341nobodyさん04/09/11 23:10:45ID:???
>337
>>336
034233404/09/11 23:32:18ID:3nx87n19
>>336,338
レスありがとうございました。
本日確認出来ない為、後日試してみます。
0343nobodyさん04/09/12 15:18:14ID:???
>>342
死んでくれないか?
0344nobodyさん04/09/12 15:22:58ID:???
>>343
お前がな
0345nobodyさん04/09/12 15:42:52ID:???
>>344
お前もな
0346nobodyさん04/09/12 15:57:45ID:???
>>345=>>343
必至だなw
0347nobodyさん04/09/12 16:17:53ID:???
自演と言い始めるやつが自演
0348nobodyさん04/09/12 16:29:06ID:???
>>344=>>342=>>334
0349nobodyさん04/09/12 18:00:56ID:???
>>348=>>345=>>343
0350nobodyさん04/09/12 18:47:25ID:???
まじめに答えてくれる人に申し訳ないんでもうやめないか?
0351nobodyさん04/09/12 18:51:08ID:???
調子に乗って暴言吐いたのはマジですまんかった
0352nobodyさん04/09/12 22:28:31ID:???
お前毎回すまんかっただろ
誤ればなんでもどうにかなると思ってるのか?
0353nobodyさん04/09/12 23:56:57ID:???
>>334はマルチポスト
0354nobodyさん04/09/13 01:06:09ID:???
掲示板を作っていまして、書き込みdataファイルに体裁用のhtmlタグも入れて、ブラウザから読み出すだけにしたいのですが、
新しいものを上に書くには、書き込み時に、まずファイルの内容を変数にいれ、その書き込みの内容をファイルに上書きした後追加でそれ以前のを書くしか方法はないですか?

あと、こちらはブラウザから直読みじゃないのですが、ファイルの上から何行を読む、正規表現でマッチしたところだけを読むにはどうすればよいのでしょうか?

よろしくお願いしますm(_ _)m
0355nobodyさん04/09/13 06:06:04ID:???
-
↑のハイフンってハッシュのキーに使えますか?頭文字にはできないのは知ってますが、
2文字目以降にも使えないんですか?
0356nobodyさん04/09/13 06:17:06ID:???
>>354
考え方は一緒だが
open LOCK, '>' . $lock_file or die $!;
flock LOCK, 2;
open LOG, '<' . $log_file or die $!;
open TEMP, '>' . $tmp_file or die $!;
print TEMP $new_article;
print TEMP <LOG>;
close TEMP;
close LOG;
rename $tmp_file => $log_file or die $!;
close LOCK;

>>355
my %hash = ('-' => 'foo', -a => 'bar', '-a-' => 'baz');
print @hash{'-', '-a', '-a-'};
035735504/09/13 07:34:16ID:???
>>356
あれ?使えた・・・・;
-が初めか最後の時にはクォートしなきゃいけなかったのか;
それが面倒であまり使われてないんですかね?それとも他にも何かの処理中に面倒なことが
起こる可能性があったりするんですか?
035835504/09/13 07:36:22ID:???
a-aもクォートがいるのか・・・・orz
0359nobodyさん04/09/13 07:52:35ID:???
クォートがいるのではなくクォートがなくても動くと言った方が正しいと思うが。
0360nobodyさん04/09/13 08:09:58ID:???
なんでクォートごときでそんなにへこむんだよ。
文字列をクォートするのはどんな言語でも当たり前のことだろうに。
036135504/09/13 09:29:42ID:???
>>359
?
%form = ( a-a => 1 );
エラーになる。use strict環境下だからかもしれないけど。
>>360
通販サイトのCGIだから商品名、商品価格とか色々商品番号をキーとしたハッシュを作る時に
いちいちクォートを入れてると見づらいし、書きづらいorz
ハイフンなしでもいいがCSV形式に変換して落とす時にいちいちハイフンを追加するのもちょっと億劫orz

Perlって結構自由?ゆるい?からマルチバイトかメタ文字以外でクォートすることはないんだorz
だって面倒でしょ。JAVA畑の人は慣れてるかもしれないけどさ。
036235504/09/13 09:30:13ID:???
my %form = ( a-a => 1 );
の間違いね。
0363nobodyさん04/09/13 09:33:33ID:aK+3swHZ
Perl5.8.5をソースからインストールしようとしたとき、
「あなたのメアドは?」って聞かれたのですが、
これって何に使うのでしょうか?
0364nobodyさん04/09/13 09:40:05ID:???
>>363
請求書を送るために
0365nobodyさん04/09/13 09:42:28ID:???
>>363
>>364が言うように請求書が来るが、先払いも可能だよ。クレジット決済でやるのがまあ普通だね。
昔俺はメアドだけなら払わずに無視してもどこの誰だかわからないだろうと思っていたが、
IP+メアドで実は十分個人を特定できるようだ。(もちろん裁判所に申請して住所などの情報を調べる許可を得るみたいだが。)
0366nobodyさん04/09/13 09:49:56ID:???
>>365
たかが86.00$なんだから素直に払えよボケ。
0367nobodyさん04/09/13 09:57:23ID:???
>>361
細かいことを気にしないなら

my %form = qw{
a-a 1
b-b 2
};

とか。

0368nobodyさん04/09/13 10:01:53ID:???
>>363
バグレポートを送ったりそのバイナリをビルドしたPerl管理者に連絡を取りたかったりした時とか。
Perlが勝手にそのアドレスを使うことはない。(アプリが勝手に使うことはあるかもしれないが)
気になるなら[email protected]にでもしておけ。

>>364-366 悪質な冗談はやめとけ
0369nobodyさん04/09/13 11:45:33ID:???
データから、カンマを取り除いた数値のみを切り出したいんですけど

if ($key eq 'log'){
$val =~ s/\,//;
if ($val =~ m/[0-9,]{1,10}/){
$number = $val;
}
}

ではうまくいきません。どの辺がおかしいかご教授願います。
0370nobodyさん04/09/13 11:48:54ID:???
>>369
$val =~ s/\,//;
にgオプションつけるとか?
0371nobodyさん04/09/13 12:28:08ID:???
ダメです カンマの前しか取得されません・・・
0372nobodyさん04/09/13 13:00:27ID:???
元のデータは123245,6789,4567,みたいなの?
そこから123245と6789と4567を別々に取り出したいの?
それとも12324567894567て続けて?
0373nobodyさん04/09/13 13:01:37ID:???
こんな感じか?

my $val = "datadata1,234,567datadata....,456,789";
my @tmp = $val =~ /(\d{1,3}(?:,\d{3})*)/g;
foreach (@tmp){
$_ =~ s/,//g;
print "$_\n";
}
0374nobodyさん04/09/13 13:02:42ID:???
XXXX:1234,5677 みたいな形で
12345677 てカンマだけを抜かした形で取得したいす
0375nobodyさん04/09/13 13:06:15ID:???
じゃあね。
>>370の言うとおり。
if ($key eq 'log'){
$val =~ s/,//g;
$number = $val;
}
0376nobodyさん04/09/13 13:06:27ID:???
>>368
>>>364-366 悪質な冗談はやめとけ
^^
0377nobodyさん04/09/13 13:20:51ID:???
>>363-366>>368
スレ違い
0378nobodyさん04/09/13 13:53:22ID:???
意見のすれ違いがおおいね・・・。
0379nobodyさん04/09/13 14:45:23ID:Dm3Qguqc
$a
が数値かどうかを判定するいい方法Plz。
0380nobodyさん04/09/13 14:48:19ID:???
$a =~ /^\d+$/
038137904/09/13 14:56:19ID:Dm3Qguqc
>380
その意味を理解するのに手間取ってしまいました。
if($a =~ /^\d+$/){
#数値
}
ですね、ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています