[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 04/18 14:57 / Filesize : 169 KB / Number-of Response : 631
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 38箱目



1 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 12:22:12 ]
"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
( WEBプログラミング板 pc11.2ch.net/php/ )

CGIの質問は答えが Perlと全然関係ない話に帰着する場合が
多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。

www.perl.org/get.html
● 2008/09/21 現在の最新版(安定版): 5.10.0
● 2008/09/21 現在の開発版: 5.9.5

▼ 前スレ
Perlについての質問箱 37箱目
pc11.2ch.net/test/read.cgi/tech/1218449440/

リンク集は>>2-3
Perl 日本語処理の基礎の基礎 >>4
過去スレは>>5-6 あたり


207 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:55:11 ]
>>204
インクリメンタルに検索できるやつにしてね。


208 名前:164 mailto:sage [2008/10/14(火) 13:48:50 ]
>>166>>167
レス、ありがとうございます。
モジュール名を聞くとド真ん中な感じですが、
自分では見つけられませんでした。。。

Net::InterfaceモジュールをCPANからダウンロード
して試してみました。

常用しているActivePerl5.8@Winにインストール
しようとしたところ、残念ながらうまくいきませんでした。
ちょっとソース(siteconf)を覗いたんですが、どうやら
UNIX系専用のようですね。超残念。

別環境として、Perl5.6@UNIX系もありましたので、
そこでインストールしてみると、ちゃんとインストール
できました。
スクリプトを書いて動作確認したところ、たしかに
期待どおりの情報(IP、Subnet Mask、MACアドレス)を
取得することができました。

本稼働はUNIX系で行うつもりだったので、これで
充分ではあるのですが、できればWindows環境でも
実行したいです。

Windows環境で同様の情報を取得する方法は
ないでしょうか?




209 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 14:01:48 ]
Net::Ifconfig::Wrapper - provides a unified way to configure network interfaces on FreeBSD, OpenBSD, Solaris, Linux, OS X, and WinNT (from Win2K).

はどうかな。説明文を読む限りでは使えそうだが試したことはない。

210 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:25:58 ]
XMLをあつかいたくて

use XML::Tidy;
my $tidy = XML::Tidy->new($_);

とやっております。
このとき、不完全なXMLのときは、mismatchエラーが発生しますが、
これを無視して、可能な限りXMLを解釈して読み込むことはできないのでしょうか?

バージョンは
perl : v5.8.8
XML::Parser : 2.34
XML::Tidy : 1.2.54HJnFa
です。


211 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:41:55 ]
XML::Tidyじゃなくなるけど、
XML::Liberal+XML::LibXMLなんて組み合わせは?

212 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 23:18:27 ]
>>211
ありがとうございます。
試してみます。

213 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 12:54:22 ]
古いPerlのコードで
&jcode'convert(*title,'jis');
というコードがあったんですが、これってどういう意味ですか。
&jcodeのあとの「'」がわかりません。

214 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 12:59:01 ]
>>213
www.kt.rim.or.jp/~kbk/perl5.005/perlmod.html

> 古いパッケージ区切り子はシングルクォートでしたが、
> 現在はダブルコロンを使うのが推奨されています。

> 古い構文も互換性のためにまだサポートされているので、
> "This is $owner's house"のようにすることもできます。
> これは$owner::sをアクセスします。

215 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:14:35 ]
>>210
それがDOMを構築しようとするものなら、
エラーが出るのはどうしようもないのでは。

かわりにSAX系のパーサーを使えば?
XML::Parserとか。
それなりにめんどくなりそうだけど。



216 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 16:47:01 ]
pc11.2ch.net/test/read.cgi/prog/1221545019/168
この人小学生からperlやってるってよ

217 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 18:05:05 ]
>>214
さんくす
Perlの古い書き方だったんですね

218 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 20:12:37 ]
Perlに古いも新しいもない。

219 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 21:21:12 ]
そうですね。
>>217で書いてるのはPerlの書き方が古いか新しいかですけどね。

220 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:57:28 ]
律儀な人ね

221 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 01:04:15 ]
クロージャーって意味がわからんな
カンタンに説明してくれないか?

222 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 03:29:24 ]
自分で調べようともしないお前に誰が教えるもんか!

223 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 03:41:29 ]
無名の関数ですね^^

224 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 12:54:52 ]
>>221
エロ画像フォルダで実感しろ。…普通に object 指向で書く方が楽だ罠。
use File::Find ;
use Data::Dumper ;
use Cwd ;
my $outer = sub{ return 1 if !( -d and /.[.][^.]*?$/) ; $File::Find::prune = 1 ; return ; } ;
my %hash ; my %hash2 ;
my $inner = sub{ return if ! m{\.(?:jpg|bmp|png|gif)$} ; $hash{$File::Find::name} = -s $_ ; } ;
my $inner2 = sub{ push @{$hash2{ uc unpack q{A7}, $_ }}, $File::Find::name ; } ;
my $code = sub {
 my $outer = shift ;
 sub { # コレが closure
  my $inner = shift ;
  sub { return if ! $outer->() ; $inner->() ; }
 }
};
my $base = $code->( $outer ) ;
find $base->($inner), getcwd ;
find $base->($inner2), getcwd ;
print Dumper \%hash, \%hash2 ;

225 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 12:55:36 ]
>>223
違うとマジレス。

ちゃんとした説明はなかなか大変だよなー。



226 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 14:09:39 ]
>>221
www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq7.html#what_s_a_closure

227 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 19:05:02 ]
スカラー変数の中身の種類(文字列とか、配列のリファレンスとか)を
調べるにはどうしたらいいですか?

228 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 19:11:14 ]
ref

229 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 19:13:16 ]
>>227
ref

230 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 19:22:50 ]
>>228-229
サンクス

231 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 21:30:11 ]
モジュールのバージョンをまとめて上げたら
MechanizeでBASIC認証がなぜか出来なくなった…
UserAgentオーバーライドしてもcredentialsでもだめ
id:pass@hoge.com/とかやると繋がるけど…
何が悪いんだろう…
同じような人が居たらヒントでもいいんで教えてもらえると有難いです。。

232 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 21:36:23 ]
>>231
デバッグフラグ立てて動作トレース

233 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 21:48:51 ]
>>232
ありがとうございます。
やってみます。m(_ _)m

234 名前:231 mailto:∧||∧sage [2008/10/18(土) 00:02:44 ]
Basic.pmで初期化されていない値云々というメッセージがでるので
LWP/Authen/Basic.pmのauth_headerにある「$user, $pass」に
試しに値を入れてみたら問題なく繋がった
LWPでauthorization_basicを試してみたら此方も問題なく成功
Mechanizeでもauthorization_basicを呼び出すようにしたら此方も成功

吊ってきます…

235 名前:デフォルトの名無しさん [2008/10/18(土) 11:04:50 ]
Linux 上で MS word の *.doc ファイルを読み出したいんですが、何かいい方法はありますか。
Spreadsheet::ParseExcel みたいなのがないかと CPAN を探したのですが、見当たりません。



236 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 11:39:28 ]
『LinuxでWord文書をテキストファイルに変換するには』
ttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/943wvware.html

Antiword is a free MS Word reader
www.winfield.demon.nl/

OpenOffice.org
ja.openoffice.org/

237 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 06:50:02 ]
>>236
有難うございます。やはり、perl から呼べるものはないようですね。
文書全体の読み出しだけでなく、「XXページにXXX があったら、XX+n ページに対応するXXXXがあるかチェックする」といった処理もできれば、
と思っていたのですが。それにしても Spreadsheet::ParseExcel は偉大だ…

238 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 07:26:47 ]
ハッシュが詰まった配列から、一つずつ取り出して各々に処理をしたいんですがforeachじゃ出来ませんでした。
何か良い方法ありますか?

239 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:05:47 ]
while each

240 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:11:04 ]
foreachで出来るだろ?

241 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:27:00 ]
>>238
そういう意味じゃないんです…

>>240
foreach %hoge (@fuga)としたら、syntax error at Z:\script\test.pl line 9, near "foreach %hogeって言われました

242 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:36:10 ]
foreach $hash_ref (@foo) {
$hash_ref->{bar}
}

243 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:40:57 ]
それは…リファレンスですか?
試してみたら通りました。回答ありがとうございました

244 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:43:16 ]
そもそも「ハッシュが詰まった配列」と君が呼んでいるものの正体が
「ハッシュのリファレンスが詰まった配列」だから。
foreachで一つ一つ取り出す時も、当然それをリファレンスとして扱わなきゃダメ。

245 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 12:50:50 ]
……難しいorz
適当に入門サイト眺めただけだとやっぱり駄目ですね、今度らくだ本買ってじっくり読むことにします



246 名前:質問 [2008/10/19(日) 16:56:31 ]
ファイルに書き込まれている特定の文字列(ABC数字)を抽出するにあたってよい方法はありますか?

・取得したい文字列の例は、ABC+数字で構成される たとえばABC11やABC2543など
・ファイルによっては行数が異なる。
・各行に取得したい文字列は0個以上ある。
・各行で、取得したい文字列が位置する場所はさまざま。(先頭にあったり、途中にあったり、)



247 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 17:00:19 ]
>>245
本も良いがまずは perldoc に当たる習慣を付けた方がいい。
メジャーなドキュメントなら和訳も web を探せばある。

ttp://perldoc.jp/docs/

ttp://fleur.hio.jp/perldoc/

ttp://homepage3.nifty.com/hippo2000/perltips/index.htm


248 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 17:10:30 ]
>>246
ふつうに1行ずつ読んでパターンマッチして切り出していけばいいだけ。

249 名前:質問 [2008/10/19(日) 17:20:17 ]
>>248
各行に0〜数個(決まりはないけど最大10程度)あるので・・
if($_=~/ABC(\d+))/)
なら1つは取得できても、その他の文字列をどうやって取得すればいいのか・・

ファイルの例)
マツダ スバル
ABC111 ABC23 トヨタ
日産 本田 ABC2222


↑ここからABCxxxの文字列だけ抽出したい

250 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 17:26:11 ]
>>249
マニュアル見れ

251 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 17:27:06 ]
>>249
必要な数だけパターンマッチして切り出していけばいいだけ。

252 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 18:32:45 ]
マニュアル読まないヤツ大杉

>>241
>foreach %hoge (@fuga)
こんな無茶な構文あり得ないだろ

>>249
パターンマッチのオプションを調べれ

253 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:46:49 ]
>>249
# 一行ヒント野郎
perl -nle "$, = ' '; print $., /ABC\d+/g" < ファイル名

254 名前:デフォルトの名無しさん [2008/10/21(火) 23:09:08 ]
いくつか教えてください。
Perlでブログ(RSSつき)みたいな機能って作れますか?
あと家計簿なんかも作れますか?

今勉強中なんですが、目標が無いと挫折しそうなんです(^^;)

255 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:10:53 ]
>>254
おまえならやれる。



256 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:29:51 ]
Perl単体じゃあ家計簿は無理じゃない?
Perl/Tk使うのかな。

257 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:56:14 ]
>>256
っ[Web]

258 名前:デフォルトの名無しさん [2008/10/22(水) 00:32:22 ]
PerlMagickを使って画像を編集したいのですが、
$image_dataに画像データが入っていて、それを読み込み/編集/書き込みたい場合はどうやったらいいのでしょうか?
$image->Read($image_data);
$image->Flip;
$image->Write($image_data);
のようなことです。


259 名前:258 mailto:sage [2008/10/22(水) 00:53:16 ]
↓で出来ました。スレ汚しすいませんでした。
my $image = Image::Magick->new(magick=>'gif');
$image->BlobToImage($image_data);
$image->Flip();
$image_data = $image->ImageToBlob();


260 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 13:06:56 ]
家計簿なんてExcelでいいじゃん

261 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 00:28:09 ]
>>256
> Perl単体じゃあ家計簿は無理じゃない?

確かにそうだな。まともなシェルが必要だ。

262 名前:デフォルトの名無しさん [2008/10/23(木) 01:44:57 ]
>>260
俺も最初そう思ったんだが、Excelは結局馬鹿だし、Excel用アドイン作ってる連中も馬鹿だから以下のようにした。

・入力はExcel
・Perl+Spreadsheet::ParseExceでウハウハ
・Perlで計算
・Perl+LaTeX系モジュールで帳票自動生成&改ページ自動編集&印刷

これで8年くらい確定申告の提出書類を作成してる。
いまだに国税庁のマルサは来ない。
まー奴らは俺みたいな貧乏人はスルーしてるだけだがw

263 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 20:36:56 ]
www.google.com/trends?q=ruby%2Cperl%2Cpython&ctab=0&geo=all&date=all&sort=0

pythonにも負けてる(藁

264 名前:デフォルトの名無しさん [2008/10/24(金) 14:43:04 ]
PerlでCのプリプロセッサのように#ifdefでコンパイルするコードを切り替えたりとかってできませんか?

265 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:50:59 ]
>>264
できる




266 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:58:18 ]
>>264
つ-Pオプション

でもいろいろ問題あるから使わないほうがいいよ。
最終的に何をしたいのかわからないが、たいてい
使わないでできるもっといい方法がある。

267 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:33:04 ]
perlでアパッチのアクセスログを振り分けるってできる?

268 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:35:36 ]
きみの能力しだい。

269 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:38:16 ]
>>267
もちろんできる。できない理由はない。


270 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:45:05 ]
おまえらにやらせようと思ったんだけど、コード書く?

271 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 01:24:17 ]
>>270
そういうときは、報酬も書いておくと話が早く進むぞ。


272 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 01:59:01 ]
じゃあ1円

273 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 07:03:27 ]
進まねぇよ

274 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 14:56:52 ]
Perlで線形リストのようなデータの持ち方をしたいのですが、
どうすればいいでしょうか?
a->b,c a->b->d,e a->c->f,g
のような感じです

275 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 16:02:27 ]
リファレンス使えばいいのでは?



276 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 16:17:22 ]
あるいは古式ゆかしく配列を使うか


277 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 22:40:17 ]
UNIXマシンからとある機器arielに対してtelnetセッション
をはりっぱにし、arielから吐かれるメッセージをローカル
のディスクにロギングしたいとです。。。

arielの仕様では、無通信時間5分でtimeoutになるので
5分毎に"\n"を送信しようと思います。

自分の頭では以下の様に、whileループでarielからのデータ
を待ち続けるロジックしか思いつかず、これでは5分毎の
"\n"送信をどうして行えばよいのか解りませんとです。

エロい方、なんとか教えてください。。。

open (OUTLOG,">>./ariel.log");

$socket = IO::Socket::INET->new(
  PeerAddr => 'ariel',
  PeerPort => '23',
  Proto  => 'tcp',
);

if ( ! $socket ){ die }

while(1){
  $buf = <$socket>;
  print OUTLOG $buf\n";
}

278 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 23:08:28 ]
>>277
とりあえずNet::Telnet使えば?

279 名前: ◆TWARamEjuA mailto:sage [2008/10/25(土) 23:10:30 ]
cronで5分ごとに\nを送信してあげる別プロセスを作っておく。

280 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 23:49:42 ]
レスあんがあちょです

>>278
Net::telnetは

 @result = $telnet->cmd("ls -l");

の様な使用例しか無いので、>>277のケースではどうかなーって思って

>>279
別プロセスでなく、同一セッション中で"\n"送らないとダメな気がします
って、んん?別プロから何かシグナルをこのプロセスに対して5分間隔
送ればいいのかぁーー!? そんなのできるんかな、調べてみよう

281 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 23:56:55 ]
>>280
シグナルハンドリングを知っているなら、alarmで起こせばいいだろ。

282 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 00:29:26 ]
>>281
おおっ!何と言うことでしょう。
なんだか出来そうな予感がしてまいりました。
月曜に会社行くのが楽しみになってきたw
ヒントあんがちょ。多謝です。

こんなカンジかな?

略〜

$SIG{ALRM} = \&timeout; # timeout時の¥に実行する関数
alarm 280;       # 5分=300秒より小さい値でアラーム

while(1){
  $buf = <$socket>;
  print OUTLOG $buf\n";
}

sub timeout {
  print <$socket> "\n"; # 待望の"\n"送信!!
  alarm 280;      # アラーム再設定
}



283 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 15:29:24 ]
手元のIMAP鯖からGMailにメールを引っ越すスクリプトを書いてます。

Mail::IMAPClientベースで書いていたのですが、

$from->migrate($to, "ALL", "OUTBOX") or die "Could not migrate: $@ \n";
この行で手元サーバからGMailへメールを移行しようとしても、移行できていないようです。
$from は 手元サーバ, $to はGMailです。GMailへの接続login自体はうまくいっているようです。
OUTBOXラベルはGMail側で作って、IMAPから見えるように設定済みです。

アドバイスいただけますでしょうか?

284 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 16:12:50 ]
>>283
自己解決。migrateを使うのを諦めて、appendとfetchで処理しました。
お騒がせスマソ。

285 名前:デフォルトの名無しさん [2008/10/26(日) 17:43:20 ]
通常、文字列の頭から適用される正規表現を後ろから見る方法はないでしょうか?

例えば、以下のように行った場合、
---------------------
my $str = 'a b c d';
$str =~ s/ //;
---------------------
a直後のスペースが消えますが、cの後ろのスペースを消すような正規表現は出来ないでしょうか?
abcdといった文字列は可変です。
事前に文字列を反転させるしか思い浮かばないのですが他に方法はあるのでしょうか?

宜しくお願いします。




286 名前:デフォルトの名無しさん [2008/10/26(日) 17:45:23 ]
$str =~ s/(.*) /\1/;

287 名前:デフォルトの名無しさん [2008/10/26(日) 20:37:58 ]
>>286
ありがとうございます!!

288 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:12:37 ]
Perl のオブジェクト指向がなんだか無理矢理って感じで、
直感的じゃなくて困っています。Pythonにしとけばよかた。

289 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:30:10 ]
>>288
うん、とっととPerlのことを忘れてPythonに移れ。

290 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:37:36 ]
おれなら、
$str=~/ ([^ ]*?)$/$1/;

どっちでもいいんだけど、>>286と比較したら
どっちの効率がいいんだろう?

291 名前:デフォルトの名無しさん [2008/10/27(月) 16:00:31 ]
A.cgiにAformからアクセスしたときと、Bformからアクセスしたときで処理内容を変えるようなプログラムにするにはどうしたらいいですか?
Aから来たときはロケーション無し、Bからなら有り のような感じにしたいのですが

292 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:06:30 ]
リファラー見るとかhiddenで何か持たせるとかボタン名変えるとか

293 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:28:05 ]
>>291
次のどっちかで区別できる。
環境変数HTTP_REFERER
INPUT(TYPE=HIDDEN)要素


でもこれ、Perlの質問じゃないのでスレ違い。
Web系のとこにいけ。

294 名前:デフォルトの名無しさん [2008/10/27(月) 17:06:45 ]
>>292-293
ありがとう、試してみます
そして、移動してログよんできます
ごめん

295 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 22:05:58 ]
$str =~ s/ (?=[^ ]*$)//;
とか



296 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 09:09:50 ]
>>295
先読みアサーションか。そういえばあったなー。
新しいせいか慣れないせいか、オレはどうしても忘れがち。

297 名前:デフォルトの名無しさん [2008/10/28(火) 16:53:15 ]
質問です。
クラスA
クラスB
それぞれのオブジェクト指向モジュールがあったとします。
なかでの処理には変数が英数をチェックしたり文字数チェックしたりでエラーを
だすようにしるとします。

で、問題は英数や文字数をチェックするルーチンはどう実装するのが理想でしょうか?
簡単なルーチンだからそれぞれのクラスにサブルーチンとして最後の行にでも書いておけ!
っていうことでもいいでしょうか?

298 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 17:56:07 ]
日本語で

299 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 20:45:57 ]
>>297
fleur.hio.jp/perldoc/mix/pod/perlboot.ja.html
perldoc.jp/docs/perl/5.8.8/perlmod.pod
perldoc.jp/docs/perl/5.10.0/perltoot.pod
>>2

300 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 23:19:11 ]
Tripletailを使用しています。
下記のように前のページからPOSTデータを取得してTemplateに書き出したいのですが、うまく行きません。
どう修正すればよいでしょうか?

#! /usr/bin/perl

use strict;
use warnings;
use Tripletail qw(/dev/null);
use CGI;

$TL->startCgi(
-main => \&main,
);

sub main {
my $t = $TL->newTemplate('template.html');
my $cgi = CGI::new();

#前ページからPOSTデータの取得
$a = $cgi->param('a');
$b = $cgi->param('b');

$t->expand(
STR => $a,
NUM => $b,
);
$t->flush;
}



301 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 23:39:13 ]
TripletaiLは使ったことないが、「うまく行きません」とやらの詳細を書くべきだな。

302 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 23:45:21 ]
>>301
ああ、ごめんなさい。

通常、Tripletailを使用せずにPOSTデータを取得する場合、
use CGI;
$cgi = CGI::new();
$data1 = $cgi->param('p_data1');

これで取得はできますが、
上記の sub mainの中で取得しようとすると、
取得できないようです。

まだわかりにくい説明かもしれませんが、お願いします。

303 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 00:40:51 ]
webprog池

304 名前:デフォルトの名無しさん [2008/10/29(水) 01:18:30 ]
>>299
ありがとうございました。そのものずばりの参考ページのようです。
がんばって吸収したいと思います。

305 名前:デフォルトの名無しさん [2008/10/29(水) 02:18:09 ]
>>304
> ありがとうございました。そのものずばりの参考ページのようです。

Perlの添付ドキュメントだけどな。おまえのPCにも入っているはず。




306 名前:デフォルトの名無しさん [2008/10/29(水) 17:52:59 ]
use strict しているコードで $a $b を未宣言で使おうとしてもエラーにならないんだけど、どうして?

307 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 18:02:12 ]
$a $bはsortブロックで使われる定義済みの特殊変数だから。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<169KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef