回答数
気になる
-
Perlの多重起動を禁止したい
main_01.plというプログラムがあります。 これは10分毎にバッチファイルから起動の命令が下ります。ただしプログラムの処理によっては10分以上かかることがあります。 この時、main_01.pl がすでに起動していた場合、main_01.pl はすぐに exit; になるように組みたいのです。僕が考えた方法は、あるテキストファイルにロックをかけ、そのファイルがロック中であるならばプログラムは処理を行わずすぐに終了する、といった感じです。 =============================== # タイムアウト処理 my $timeout = 5; # 排他処理 my $lockfile="lock.txt"; # 多重起動停止 (ここに $lockfile が書き込めなかったらmain_01.plは別に起動していることになるので起動しない。) # 排他処理開始 open(LOCK,"$lockfile"); flock(LOCK,2); # 処理開始 eval { # タイムアウト local $SIG{ALRM} = sub { die "alarm\n" }; alarm( $timeout ); # プログラムスタート print "\n◆スタート\n\n"; sleep(4); # プログラム終了 print "\n◆終わりました。\n\n"; }; # タイムアウト処理 if ( $@ ) { # タイムアウト print "\nタイムアウトしました。TIMEOUT= $timeout \n"; } else { # タイムアウトせずに正常終了 print "\n正常終了しました。\n"; } # 排他処理終了 close(LOCK); exit;
質問日時: 2013/06/17 16:39 質問者: nakisan2011_12
ベストアンサー
2
0
-
Perl 比較 順不同
恐れ入ります。 Perlのデキスト操作で、 文字列を順不同に比較して一致率をみることはできるでしょうか。 例えば、123456 654321を比較した場合、一致率は100% 162534と234651も一致率100%という感じです。 この比較をカタカナ標記の文字列で行いたいと思っています。 よろしくお願いします。
質問日時: 2013/06/14 11:54 質問者: spider32
解決済
4
0
-
Perl上でのMySQL文について
ユーザー名とパスワードを入力してもらい、パスワードが一致していればOK、違っていればNGがでてくるプログラムを作りました。 if ( $password eq &sub_db( "SELECT password FROM login WHERE user LIKE '" . $user . "'") ) { print "OK!"; } else { print "NG!"; } ちなみに &sub_db というのはSQL文を実行するだけのサブルーチンです。 想定通りに動きましたが、SQL文の "SELECT password FROM login WHERE user LIKE '" . $user . "'" の '" . $user . "'" なんですが、最初はこうしてました "SELECT password FROM login WHERE user LIKE $user" これだと動きませんでした。多分シングルコーテーションで囲まなければいけない決まりがあるんだと思います。変数を文字列比較するときはこうしなければいけないのでしょうか?
質問日時: 2013/06/13 18:50 質問者: nakisan2011_12
ベストアンサー
1
0
-
DBIが入っているはずですが、、、
【 windows7 64bit + MySQL5.5 + ActivePerl 5.16.3 】 コマンドプロンプトで直接、 c:\>ppm install DBI No missing packages to install というメッセージがでます、これは「もうインストールされてるよー」という意味だと思いますが、プログラムを実行しても、 Software error: DBD::MySQL initialisation failed: Can't locate object method "driver" via package "DBD::MySQL" at C:/usr/local/lib/DBI.pm line 808. Perhaps the capitalisation of DBD 'MySQL' isn't right. at C:/Apache2.2/htdocs/00001/shinki_data_sakusei.pl line 33. というエラーがでます。 ====================================== # 初期設定部分 use strict; use warnings; # エラーをブラウザに表示 use CGI::Carp qw(fatalsToBrowser); use utf8; binmode STDIN, ':encoding(UTF-8)'; binmode STDOUT, ':encoding(UTF-8)'; binmode STDERR, ':encoding(UTF-8)'; use Encode; use DBI; # プログラム開始 # ユーザ名とパスワード my $dbname = 'login_data'; my $dbhost = 'localhost'; my $user = 'root'; my $pass = 'root'; #データベースへ接続 my $db = DBI->connect( "DBI:MySQL:dbname = $dbname;host = $dbhost", $user, $pass ); if ( ! $db ){ print "エラー: $db->err $db->errstr\n"; } # 命令 my $sth = $db->prepare( "SELECT * FROM login" ); # 実行 $sth->execute; # 出力 while( my @row = $sth->fetchrow_array ){ print "@row\n"; } #データベースから切断 $db->disconnect; __END__
質問日時: 2013/06/12 14:28 質問者: nakisan2011_12
ベストアンサー
2
0
-
CSVファイルの""内コンマの処理
以下のようなCSVファイルがあります。 xxx,yyy,"z,zz",XXX,"YY,Y",ZZZ,111,222 これを、 xxx,yyy,zzz,XXX,YYY,ZZZ,111,222 の様にperlで ""内のコンマを取りたいのですが、どうしたらよいでしょうか? xxx,yyy,z zz,XXX,YY Y,ZZZ,111,222 の様に""内コンマを別の文字に置き換えても可です。 よろしくお願いします。
質問日時: 2013/06/12 14:26 質問者: Silmaril
ベストアンサー
1
0
-
(Perl CPAN) DBDがはいらない
「windows7 64bit に ActivePerl をいれています」 以下のプログラムを書いて実行したところ、エラーメッセージがでてきました。 Software error: DBD::MySQL initialisation failed: Can't locate object method "driver" via package "DBD::MySQL" at C:/usr/local/lib/DBI.pm line 808. Perhaps the capitalisation of DBD 'MySQL' isn't right. at C:/Apache2.2/htdocs/00001/shinki_data_sakusei.pl line 33. これはつまり、DBD::MySQL がないよ!という意味であると思うのですが、ppmを起動してDBDにあたるモジュールをインストールして再実行してもまだ同じエラーがでます。どうしてもwindows7上で作らなければならないので、困っています。どこか参考になるサイトはないでしょうか? ========================================= use strict; use warnings; # エラーをブラウザに表示 use CGI::Carp qw(fatalsToBrowser); use utf8; binmode STDIN, ':encoding(UTF-8)'; binmode STDOUT, ':encoding(UTF-8)'; binmode STDERR, ':encoding(UTF-8)'; use Encode; use DBI; # プログラム開始 # ユーザ名とパスワード my $user = 'root'; my $pass = 'root'; #データベースへ接続 my $db = DBI->connect('DBI:MySQL:localhost', $user, $pass,); if ( ! $db ){ print "エラー: $db->err $db->errstr\n"; } # 命令 my $sth = $db->prepare( "SELECT * FROM login" ); # 実行 $sth->execute; # 出力 while( my @row = $sth->fetchrow_array ){ print "@row\n"; } #データベースから切断 $db->disconnect; __END__
質問日時: 2013/06/12 13:40 質問者: nakisan2011_12
ベストアンサー
2
0
-
ActivePerl を使用して MySQL に
すいません、初心者です。 ActivePerl を使用して MySQL にアクセスしたいです。 windows7 64bit にActivePerlとMySQLを入れ込みました。 MySQLにアクセスするためのユーザー名やパスワードは root です。 login_data というテーブルを適当作成しました。 実際にアクセスしてみるには、どのようなコードを書けばいいでしょうか? =========================================== use strict; use warnings; # エラーをブラウザに表示 use CGI::Carp qw(fatalsToBrowser); use utf8; binmode STDIN, ':encoding(UTF-8)'; binmode STDOUT, ':encoding(UTF-8)'; binmode STDERR, ':encoding(UTF-8)'; use Encode; use DBI; # プログラム開始 # ユーザ名とパスワード my $user = 'root'; my $pass = 'root'; #データベースへ接続 my $db = DBI->connect('DBI:MySQL:localhost:login_data', $user, $pass,); if ( ! $db ){ print "エラー: $db->err $db->errstr\n"; } # 命令 my $sth = $db->prepare( "select * from test" ); # 実行 $sth->execute; # 出力 while( my @row = $sth->fetchrow_array ){ print "@row\n"; } #データベースから切断 $db->disconnect; __END__
質問日時: 2013/06/11 15:52 質問者: nakisan2011_12
ベストアンサー
1
0
-
tripod.comで
cgi-binというディレクトリを作り、その中にcgiを設置してブラウザで開いたら、cgi-binの上のindex.htmに飛ばされました。何が原因ですか?
質問日時: 2013/06/09 12:23 質問者: humu01jp
解決済
3
0
-
Perlで文字列の中で重複しているグループ排除等
サイトで探してもみつからないためこちらで質問します。 タイトルの通り、どのようにしたら重複を排除するか教えてください。 また、半角に限らず全角も排除できるような方法があればそれも教えてください。 たとえば、以下のソースを例に示します。 ------------------ #!/usr/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; my $buf1, $buf2, $buf3, $buf4; $buf1 = 'aabbccdd'; $buf2 = 'ああいいううええ'; $buf3 =~ tr///cs; $buf4 =~ tr///cs; print $buf1 . '->' . $buf3, "\n"; print $buf2 . '->' . $buf4, "\n"; #end ------------------ 上記の方法は、aabbccddをabcd、ああいいううええをあいうえにするといった重複排除のつもりでしたが、結果は以下の通り ------------------ aabbccdd->abcd ああいいうう->ああいいうう ------------------ 半角だとうまくいきますが、全角だとうまくいきません。これは基本的にJCodeなど 絡めて処理する必要があるのでしょうか。 また、「あいうえあいうえ」を「あいうえ」のひとつにする方法もわかりません。 よろしくお願いします。
質問日時: 2013/06/05 08:17 質問者: jazoyellow
解決済
2
0
-
【perl】携帯での利用について【cgi】
お世話になっております、ぷりんと申します。 当方、現在Perl言語にてCGIを作成->HTMLにて出力をしてサイト運営を行なっています。 その中で、携帯電話の利用者の一部が、「FORMタグでの投稿が反映されない」との連絡がきました。 その方はSH-01B(ガラケー)を使用しており、携帯電話のブラウザキャッシュの問題かな?と思い「携帯電話の電源を入れなおし、クッキーを有効にしてからお試し下さい」と伝えました。 しかし、現状できないようです。 そこで、キャッシュ対策にHTMLのヘッダに print "<meta http-equiv='pragma' content='no-cache' /> <meta http-equiv='cache-control' content='no-cache' /> <meta http-equiv='expires' content='0' />"; を入力したのですが、残念ながら問題の解決にはなりませんでした。 これはキャッシュが悪さをしているのでしょうか?それとも他になにか原因があるのでしょうか? 言葉足らずかと思いますが、ご教授の程お願い申し上げます。 補足 アクセスログをとっていますが、「投稿が反映されなくなった」と連絡がきた時、その方がアクセスした形跡が見られません。
質問日時: 2013/06/02 18:49 質問者: happypudding
ベストアンサー
2
0
-
Perlにおけるパターンマッチ
パターンマッチの勉強をしていたところ 偶然「ちょう」という言葉を以下のように書くとひっかからないことに気づきました。 なぜ「ちょう」という日本語だとひっかからないのでしょうか? また「ちょう」がパターンマッチにひっかかるようにするのにはどうすべきなのでしょうか? if($word =~ /ちょう/){ { &error("エラー","「ちょう」という言葉は使用できません"); }
質問日時: 2013/05/31 21:52 質問者: masa-25
ベストアンサー
1
0
-
Perlのハッシュ変数のソートについて
ハッシュ変数の並べ替えをやりたいです。ただ、値の長さでソートをしたいのです。 my %tan_syouhin = ( '佐賀' => 'あいうえお', '滋賀' => 'かき', '無我' => 'さしすせそそそ', '千賀' => 'うりるら', '日我' => 'ぜるだんぽ' ); というハッシュ変数があって「値の長さ」でソートするにはどうしたら良いでしょうか?
質問日時: 2013/05/29 16:05 質問者: nakisan2011_12
ベストアンサー
3
0
-
Perl Dev Kit error
いつもお世話になります。 ActiveState.comのActivePerl 5.14.4をwindows 8にインストールしました。 それから去年ActiveState.comから購入した(少し古い) Perl Dev Kit 9.2.1とそのライセンスをインストールしました。 PDKのツールたとえばPerlAPPを起動しようとすると Win32:BuildNumber not consistent with perl -v というエラーがでます。 ActivePerl は5.16.3もダウンロードできますが、やはり同じエラーです。 もう一度PDKを買いなおさないとだめでしょうか。。。 ご指導のほどお願いいたします。
質問日時: 2013/05/28 23:08 質問者: ng999
ベストアンサー
2
0
-
Perl のプログラム二重起動について
Perlでの二重起動?についての疑問があるので質問いたします。 ============================ (状況) 1)Aというプログラムが存在し、そのAというプログラムはタスクスケジューラーによって10分毎に起動しています。 2)Aプログラムは全体の処理が終わるまでに通常5分の時間がかかります。処理が終わればexitで終わります。 (ちなみにAプログラムはファイル書き込みなどの排他処理が必要なフローはありません) ============================ というのをふまえ、疑問点が出てきたので質問します。 例えば、あるイレギュラーな出来事が起こり、Aプログラムの処理時間が15分に伸びてしまいました。 しかし、タスクスケジューラーは10分間隔でAプログラムを起動させます。 このとき、オーバーした5分間だけAプログラムは二重に起動することになります。 0 5 10 15 20 最初のAプログラム =============== 次のAプログラム ========== この場合、windows7上のActivePerlは、どんな動きをするのでしょうか? 予約みたいな形になり、最初のAプログラムが終わってから次のAプログラムが動くのでしょうか? それとも二重起動するのでしょうか?
質問日時: 2013/05/28 14:04 質問者: nakisan2011_12
ベストアンサー
1
0
-
TwitterAPI1.1でGetメソッド(?)の
perlでフォロワー一覧を取りたいのですがよくわからず困っています。 こちら、 http://pplace.jp/2012/10/1058/ 参考にしてやろうとしているのですが、 使えなくなったとされる1が使えて、1.1のほうがむしろエラーになります。 http://api.twitter.com/1/statuses/followers/TwitterのID.xml → これはOK http://api.twitter.com/1.1/friends/ids.json?screen_name=TwitterのID → エラーになる {"errors":[{"message":"Bad Authentication data","code":215}]} どうやらOauthの失敗とのことですが、、、 簡単なサンプルは動きました。 ---- こちらは確認 つぶやきサンプルです ------------- use strict; use Net::Twitter; my $consumer_key = '' my $consumer_secret = ''; my $token = ''; my $token_secret = ''; my $nt = Net::Twitter->new( traits => [qw/OAuth API::REST/], consumer_key => $consumer_key, consumer_secret => $consumer_secret, access_token => $token, access_token_secret => $token_secret, ); my $result = $nt->update('Hello World'); ----------------------------------------------------- しかし、 そもそも上のようなURL(GETメソッド?)をどうやってOAuthで呼び出すのかがわかりません・・・ perldoc Net::Twitter も見たのですが、それっぽい記述はありませんでした・・・ perlでTwitter1.1のAPIのGetメソッド(?)はどうやって呼び出すのでしょうか・・・
質問日時: 2013/05/26 11:04 質問者: azicyan
ベストアンサー
1
0
-
連続投票の制限
投票cgiを設置したいのですがうまくいきません、集計を1日一回だったのを少し改造して即時集計にしました 一応動くのですが、連続投票できてしまいます。 連続投票を一定時間制限できるようにしたいのですがうまくいきません 60秒くらい間をおいてから投票できるようにできますか? ip制限もあるみたいなのですがこれも機能してないです・・・ 改善できるなら元のソースがかなり変わってもかまいません 連続投票制限だけでも機能できればと思っています。よろしくお願いします local $times = time(); sub vote{ if($FORM{id}){ my $fl=0; if(!$CK_ref){$fl=1;} else{ if(index($ENV{'HTTP_REFERER'},index.html>=0){$fl=1;} } if($fl){ $FORM{id}=~s/\n//g; my $vote = $FORM{vt2}?1:0; open(OUT,">>vote_temp.cgi"); #時間用のログファイルに書き込み print OUT "$FORM{id}<>$ENV{'REMOTE_ADDR'}<>$FORM{vt}<>$vote<>".$times."<>\n"; close(OUT); &reset_vote if $VT_RESET < $times; my(@log_lines,%pt,%pt2,%cnt,$name,$value,%CKIP); open(IN,"vote_temp.cgi"); my @log = <IN>; close(IN); if(@log){ my $cktime = $times - 60; #60秒制限 open(IN,"vote_ck_IP.cgi"); #投票した人のIPを記録したログ while(<IN>){ my @ck = split('<>'); next if $_[1] < $cktime; $CKIP{$_[0]} = $_[1]; } close(IN); foreach(@log){ chop; my @rank = split('<>'); #ID<>IP<>評価<>おすすめ<>時間\n next if $CKIP{"$rank[0]_$rank[1]"}; $pt{$rank[0].'_'.$rank[2]}++; $pt2{$rank[0]}++ if $rank[3]; $cnt{$rank[0]}++; $CKIP{"$rank[0]_$rank[1]"} = $rank[4]; } open(OUT,">vote_temp.cgi"); close(OUT); open(OUT,">vote_ck_IP.cgi"); while(($name, $value) = each(%CKIP)){ print OUT "$name<>$value<>\n"; } close(OUT); open(IN,"log.cgi"); my @data = <IN>; close(IN); foreach(@data){ #集計処理長かったので省略 } open(OUT,">vote_bf.cgi"); open(IN,"vote_log.cgi"); while(<IN>){ print OUT $_; } close(IN); close(OUT); open(OUT,">vote_log.cgi"); print OUT @log_lines; print OUT "\n1;\n"; close(OUT); } &make_vote_ck('set'); } } sub reset_vote{ my @log; foreach my $i(1..$LAST_ID){ next if !@{$VT[$i]}; $VT[$i][18] = $VT[$i][7]; $VT[$i][19] = $VT[$i][8]; $VT[$i][20] = $VT[$i][0]; foreach my $j(0..8){ $VT[$i][$j] = 0; } push(@log,'$VT['.$i.'] = ['.(join(',',@{$VT[$i]}))."];\n"); } open(OUT,">vote_log.cgi"); print OUT @log; print OUT "\n1;\n"; close(OUT); &make_vote_ck('reset'); } sub make_vote_ck{ if($_[0] eq 'set'){ my @t =localtime($times + 86400); $VT_TIME = timelocal(0,0,5,$t[3],$t[4],$t[5]); $VT_RANK = $VT_RUI = $VT_RECO = $VT_RCRUI = $VT_COUNT = $VT_CTRUI = $VRK_CK = 1; } if($_[0] eq 'reset'){ my @m =localtime($times); $m[4] += 1; if($m[4] > 12){ $m[4] = 1; $m[5] += 1; } $VT_RESET = timelocal(0,0,2,1,$m[4],$m[5]); $VT_RANK = $VT_RECO = $VRK_RS = $VRK_CK = 1; } if($_[0] eq 'restore'){ $VT_RANK = $VT_RUI = $VT_RCRUI = $VT_RECO = $VT_COUNT = $VT_CTRUI = $VRK_CK = 1; } open(OUT,">vote_ck.cgi"); print OUT "\$VT_TIME = '".$VT_TIME. "';\n"; print OUT "\$VT_RESET = '".$VT_RESET. "';\n"; print OUT "\$VT_RANK = '".$VT_RANK. "';\n"; print OUT "\$VT_RUI = '".$VT_RUI. "';\n"; print OUT "\$VT_RECO = '".$VT_RECO. "';\n"; print OUT "\$VT_RCRUI = '".$VT_RCRUI. "';\n"; print OUT "\$VT_COUNT = '".$VT_COUNT. "';\n"; print OUT "\$VT_CTRUI = '".$VT_CTRUI. "';\n"; print OUT "\$VRK_CK = '".$VRK_CK. "';\n"; print OUT "\$VRK_RS = '".$VRK_RS. "';\n"; print OUT "\$LAST_ID = '".$LAST_ID. "';\n"; print OUT "\n1;\n"; close(OUT); }
質問日時: 2013/05/25 00:00 質問者: flash0
ベストアンサー
1
0
-
楽天あす楽の検索文字コードにEUC-JPを使いたい
楽天のあす楽で「紅茶」と検索すると 「紅茶」の部分は「%E7%B4%85%E8%8C%B6」とUTF-8にエンコードされます。 http://search.rakuten.co.jp/asuraku/mall/%E7%B4%85%E8%8C%B6/ これをUTF-8の「%E7%B4%85%E8%8C%B6」ではなく、 EUC-JPの「%B9%C8%C3%E3」を使って検索する方法はないでしょうか? 「http://search.rakuten.co.jp/asuraku/」で始まるURLでなくても結構です。 あす楽の検索ができれば、どんなURLでもOKです。 分かる方がいらっしゃいましたら教えてください。 よろしくお願いいたします。
質問日時: 2013/05/20 21:20 質問者: golf90
解決済
1
0
-
IIS の@INC ERRORについて教えて
wiin8にIISとPerl64をインストールしました。「Default Web Site」を「C:\wabs」に設定。 tst.cgi #!/usr/local/bin/perl print "Content-Type: text/html", "\n\n"; print "<HTML>\n"; print "<BODY>\n"; print "こんにちは!<BR>\n"; print "</BODY>\n"; print "</HTML>\n"; で、無事に動いてると確認したのですが、 C:\wabs\lib\jcode.pl を設置して、 require './lib/jcode.pl'; として、実行すると ERROR = Can't locate ./lib/jcode.pl in @INC (@INC・・・・ と、 パスが通っていないようなメッセージが出て、解決策が解らず困っています。 どなたか、解決策を教えてください。よろしくお願いします。
質問日時: 2013/05/19 14:00 質問者: hiroskes
解決済
2
0
-
perlでcsvの指定フィールドに書き込みする方法
perlを勉強中の初心者です。 以下のような入力ファイル(csv)があった場合、特定のフィールド(この場合"0")を参照して、その数字を元に、出力ファイルには、参照したフィールドからデータ書き込むプログラム方法を教えてください。 ---入力ファイル 0,a,b,c 1,d,e,f 2,g,h,i 10,w,s,x ---出力ファイル 0,a,b,c ,1,d,e,f ,,2,g,h,i ,,,,,,,,,,10,w,s,x
質問日時: 2013/05/19 09:48 質問者: kenken2619
解決済
2
0
-
perl 5.8.8 日本語マッチ
perl5.8.8を使っています。 日本語にマッチする正規表現を書きたいのですが、どうしてもマッチしません。 例えば、以下のファイルtest.txtから「さしすせそ」だけを抽出し、表示させたいです。 ---------test.txt-------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- ----------test.pl-------------------------------- use strict; use warnings; open(FILE, 'test.txt') or die "$!"; my @file = <FILE>; close(FILE); foreach my $line (@file){ if($line =~ /^さ/){ print "$line\n"; } } ------------------------------------------------ このtest.plを実行しても「さしすせそ」を抽出することが できません。 どうしたらよいのでしょうか? 自宅の新しいバージョンのperlだとできるのですが 会社のperlは5.8.8で顧客環境でもあるのでバージョンアップも できません。 すみませんが、よろしくお願いいたします。
質問日時: 2013/05/17 21:55 質問者: koun
ベストアンサー
4
0
-
5行おきに5行ずつ抽出するには?~教えて下さい。
ファイル内のデータの並び替え処理したく、質問します。 データは、1列目に通し番号、2、3、4列目にデータが入っています(下に例を書きます)。 5行ごとに5つの行のデータをまとめたいのです。 具体的に言うと、「1、6、11、16、21行目」のデータをまとめて1行(タブ切り)に。新しい行には、真ん中の数字「11」を先頭列に入れたいです。 それをずらしてゆき、「2、7、12、17、21行目」のデータを1行に、、というようにしたいのです。 扱うファイルの行数は、様々です。 これを統計処理を行う予定です。perl初心者ですので、トライした思案策を載せても参考にならないかと思い、0から教えて頂く形になりますが、よろしくお願いします。 1101010 2202020 3303030 4404040 5505050 6101010 7202020 8303030 9404040 10505050 11101010 12202020 13303030 14404040 15505050 16101010 17202020 18303030 19404040 20505050 21101010 22202020 23303030 24404040 25505050 出来上がりは、 11 10 10 10 10 10 10 10 10 10 12 20 20 20 20 20 20 20 20 20 というようになります。
質問日時: 2013/05/17 12:39 質問者: kina808
ベストアンサー
2
0
-
【ImageMagick】5.42で画像向き変更
PerlのImage::Magickで、画像の加工を行っています。 バージョンは下記です。 ========= Perl 5.6.1 Image::Magick 5.42 ========= iPhone画像の向きがおかしくなってしまうので、正しい画像の向きに変更したいのですが、 $img->AutoOrient(); を使えばいい事はわかりましたが、バージョンの違いによって、使用できませんでした。 都合上、上記のImage::Magickのバージョンは変更できません。 AutoOrient以外で記載したバージョンでも画像を正しい向きに変更する方法はありますでしょうか。
質問日時: 2013/05/16 13:06 質問者: chizu0710
ベストアンサー
1
0
-
プログラムに関して教えてください
以下のスクリプトでわからなくて困っています。 [A] 以下のスクリプトでサーバー上の同じディレクトリーにダウンロードが可能です。 use LWP::Simple; my $url = 'https://ドメイン名/samples/10000.mp3'; ## DOWNLOAD FROM URL!! my $file = '10000.mp3'; getstore($url, $file); ------------------------------ [B] 以下のスクリプトでPCのローカルフォルダにダウンロードが可能です。 my $path = "samples/10000.mp3"; ##PATH_TO_FILE my $file = "10000.mp3"; print "Content-Type:application/octet-stream; name=\"$file\"\r\n"; print "Content-Disposition: attachment; filename=\"$file\"\r\n\n"; open( FILE, $path ); while(read(FILE, $buffer, 100) ) { print("$buffer"); } ------------------------------ フルパスの URL を指定してローカルPCにダウンロードさせるにはどうしたらいいのでしょうか?
質問日時: 2013/05/16 09:19 質問者: worldclass0107
解決済
1
0
-
perlのsortについて
下のテキストをグループ別でabc順にソートしたいのですが AG tanaka abe kaneda BG hayama oota endou CG kawai gennda hirata そのままsort関数を使用し、ソートをするとAG,BG,CGもソートされてしまい、さらに名前もAG,BG,CG関係なしにソートされてしまいます、 AG,BG、CGを動かさず、中身だけをソートする方法はないでしょうか?
質問日時: 2013/05/13 20:23 質問者: daikon999
解決済
3
0
-
.cgiのスケジュール管理システム曜日追加
.cgiのスケジュール管理システムを編集中です(perlと連動)。 自分自身が作ったものではなく引き継ぎでやっております。 現在管理確認/表示画面にて 月曜~土曜日までしかなく、日曜日だけ日付けも曜日も存在しません。 日曜日をがおそらく省かれていてる(非表示にされている)状況です。 これは今まで日曜日が定休日だったからです。日曜日も営業日として追加するのが目標です。 日曜日を表示さすのはどうしたらいいのでしょうか? .cgiは初心者のため。。。何十時間かけて調べたりいじってみたのですが、理想の答えもどれだけ調べても見つからず、 自分で触ってもどうにもならずもうお手上げです。。。 色々調べていたら「$en」で非表示にするやり方がある事を知り、 編集しているcgi内に探しましたがこのようなものはありませんでした。。。 おそらく違う方法で日曜日が非表示になっているかと。。。 *ログイン後、管理設定では日曜日も表示され、予定を入れる事が出来るのですが、 実際の確認画面には表示されません。 ちょっと説明不足かもしれませんが。。。。 よろしくお願い致します。
質問日時: 2013/05/11 18:07 質問者: bilwor123
解決済
6
0
-
perl 変数 代入
恐れ入ります。 Perlで、フォームから送信して、変数に代入したいのですがうまくいきません。 print qq!<form action="./xxx.cgi" method="get">!; opendir(DIRHANDLE, "./xxx"); foreach(readdir(DIRHANDLE)){ next if /^\.{1,2}$/; print qq! <input type="checkbox" name="$_" value="$_"> <input type="submit" value="送信"></form> とし、ディレクトリ内のフォルダ名をnameに格納してxxx.cgiへ送信します。 xxx.cgi側では、 #!/usr/bin/perl use cgi; $form = CGI->new; として、送信されたデータを次々と代入したいのですが、どのようにしたらよいでしょうか。
質問日時: 2013/05/10 19:10 質問者: spider32
ベストアンサー
1
0
-
Malformed UTF-8 character
あるWebシステムで、エラーログに「Malformed UTF-8 character」が大量に出力されています。 意味はわかるのですが、どんな文字列がエラーになっているか分からないので、デバッグできず困っています。 # 全てのアクセスで必ず通るロジックなので、入力文字列を無条件にダンプするわけにも行きません。 もし、「Malformed UTF-8 character」になる見込みの文字列だけダンプするなど、効率的なデバッグ手段があれば、教えていただけますでしょうか。 よろしくお願いいたします。
質問日時: 2013/05/08 11:58 質問者: entree
ベストアンサー
1
0
-
CGI::Sessionでのユーザとの紐付け方法
【できていること】 Cookieの発行 Cookieへのデータの書き込みと参照 【ここから質問】 ログイン認証があるWebアプリケーションにおいて、セッション情報(ID)とユーザ情報はどのように紐付けているのでしょうか? (ログイン成功時に生成するセッションIDとユーザ情報の紐付け情報をどこにどのように保持するのかがわかりません) Cookie(クライアント側)はセッションIDのみを保持しておいて、サーバ側で紐付け情報を保持するのだと思うのですが、CGI::Sessionではセッション生成時に作成されるcgise_XXXXファイルに書き込むのでしょうか?(そのメソッドか、具体例があれば教えてください) それとも紐付け専用のテーブルを用意しておくのでしょうか、もしくは、ユーザ情報のテーブルにあらかじめセッション情報を格納するカラムでも用意しておくのでしょうか。 よろしくお願いします。
質問日時: 2013/05/05 19:04 質問者: okwave40
ベストアンサー
1
0
-
1ランナーで文字列が5フィールドの時文字置き換え
perlの初心者です。 cshスクリプト内に、perlの1ライナースクリプトを入れて、文字の置き換えをしたいのですが、 記述の仕方が解りません教えてください。 【詳細】 テキストファイル内は、下記のようなデータが入っており、perlの1ライナーで文字列が 5フィールドのみMIYAKE_ILFをMIYAKE_ILFU MIYAKE_HFをMIYAKE_HFU MIYAKE_LFをMIYAKE_LFUへ置き換えて、それ以外はそのまま出力したいのです。 130325.142626.281 #p 130325.142627 MIYAKE_ILF tanaka 130331.012203.576 #p 130331.012210 MIYAKE_HF tanaka 130428.132805.796 #p 130428.132809 MIYAKE_LF tanaka 130419.163411.369 #p 130419.163411 MIYAKE_HF tanaka #f 13 04 19 16 34 10.565 34.08739 139.52408 1.377 0.2 0.018 0.020 0.042
質問日時: 2013/05/01 16:05 質問者: nnirosan
ベストアンサー
3
0
-
同じテンプレでフォームを表示
perl勉強中です HTMLフォーム(cgiのテンプレ)からtest.cgiに送信してmysqlにテキストを登録や取得はできました 1つのtexteraが長いため表示を1ページにtextera一つにしています カラム10まで同じテンプレで登録するのにフォームの切り替えをすることはできますか? test.html(HTMLのフォームのテンプレ)を10個も作るのは効率が悪いきがします 繰り返し処理でやりたいのですが素人なのでピンときません、部分的でもいいのでお願いします mysqlのカラムは作ってあるものとします 例えば、htmlページの<input type=submit value="カラム2">をクリックするとtest.cgiに送信されて、もう一度、同じフォームのページを表示、しかし、カラム2への登録フォームになっているみたいな感じです
質問日時: 2013/05/01 03:27 質問者: flash0
ベストアンサー
1
0
-
PerlでHTTPヘッダの\nを外すとエラー
【PerlでHTTPヘッダの最後の\nを1つでも外すとエラーになります】 初歩的なことですみません。 HTTPヘッダーの最後の\n\nなんですが、ヘッダーの文字列の後に改行が2つ?? と思って この\nを外して、 print "content-type:text/html;charset=utf-8"; とすると、「500 Internal Server Error」 print "content-type:text/html;charset=utf-8\n"; と\nが1つでも 「500 Internal Server Error」 となります。 「\n\n」と2つあればエラーにはならないんですが、なぜ必ず2つ必要なのでしょうか?これは改行が2つって意味ですかね? print "<html>\n"などの\nはソース上やコンソール出力結果上での改行なのはわかります。 この\nは改行したくなければ書かなくてもエラーになりませんよね。(当たり前ですが・・ #!/usr/bin/perl print "content-type:text/html;charset=utf-8\n\n"; ←HTTPヘッダーの\n\n print "<html>\n"; print "<body>\n"; print "<p>テキスト</p>\n"; print "</body>\n"; print "</html>\n";
質問日時: 2013/04/26 06:48 質問者: testmaster_x
ベストアンサー
4
0
-
perlで以下の記述の意味についてご助言願いたく。
while( <$_old> ){ if( $_ =~ /^$var\:(?!\*RK\*)/ ){ print "A\n"; }else{ print "B\n"; } } 上記の上から2行目の if( $_ =~ /^$var\:(?!\*RK\*)/ ){ において、 ()の中の先頭に ?! とあるのですが、 これはどういう解釈なのでしょうか? ご助言ご鞭撻の程宜しくお願い致します。
質問日時: 2013/04/25 18:56 質問者: torajiro123
ベストアンサー
1
0
-
perl 最短マッチについて
以下のコードを実行すると ab が出力されますが理由が分かりません。 if('aabc' =~ /a(.*?)c/){print $1;} $1の部分は最短マッチなので期待値としては b が帰ってくるべきだと思うのですが、 何故このようなことになるのでしょう。(最短マッチは後方のみ有効?) 暇な方よろしくお願いします。
質問日時: 2013/04/22 23:17 質問者: blackrod
解決済
4
0
-
マッチ以外を置換について
test.txtのファイルの中に以下のコメントがはいっています。 --- test.txt(置換前) 各URLは以下の通りです。 (1)hoge.com (2)hoge123.com (3)hoge222.com --- ファイルの中のhoge.comはそのままで、以下のようにその他の文字は他の文字に置換を行いたいと思ってます。 --- test.txt(置換後) 各URLは以下の通りです。 (1)hoge.com (2)abc.com (3)abc.com --- 指定した文字(hoge.com)を置換する方法は簡単に行えるのですが、指定した文字以外の文字を置換する場合、どのように書けばいいでしょうか? どなたかよろしくお願いします。
質問日時: 2013/04/17 22:05 質問者: hana43
ベストアンサー
4
0
-
perlで該当する行のみ別ファイル出力
timelog.txtのファイルの中に、[時:分:秒,不特定数値]が入っている状態で、 [00時]台が検出された場合にその前にある23時台で始まる行だけをtimelog_yesterday.txtで出力したいのですが どのようにしたらいいでしょうか? 例) timelog.txt ------------------------------ 23:58:00,-2 23:59:00,-1 00:00:00,0 00:01:00,1 00:02:00,2 00:03:00,3 00:04:00,4 ------------------------------ ↓ timelog_yesterday.txt ------------------------------ 23:58:00,-2 23:59:00,-1 ------------------------------ timelog.txt ------------------------------ 00:00:00,0 00:01:00,1 00:02:00,2 00:03:00,3 00:04:00,4 ------------------------------ また、この時[00:]で始まるものがない場合はそのままにしたいです。 例) timelog.txt ------------------------------ 00:00:00,0 00:01:00,1 00:02:00,2 00:03:00,3 00:04:00,4 ------------------------------ ↓ timelog.txt ------------------------------ 00:00:00,0 00:01:00,1 00:02:00,2 00:03:00,3 00:04:00,4 ------------------------------ お手数をお掛けしますが、ご教授いただけると幸いです。 よろしくお願い致します。
質問日時: 2013/04/10 09:17 質問者: pming
ベストアンサー
1
1
-
Sleep関数の最大時間について
ブラウザ上のinputタグ内で指定された日時に、サーバー上で処理を実行させるプログラム(Perl)ができないか考えています。 (1)最大指定時間 指定した日時と、入力した日時の差分をとり、ミリ秒に変換してsleep関数で処理しようとおもいつきました。この場合、設定可能な最大日数などがお分かりになる方はいらっしゃいますか? (2) (1)以外でいい方法はありますか?ちなみにサーバーはUNIXでサーバー設定の知識は0の初心者です。 どなたかお願いいたします。
質問日時: 2013/04/09 15:51 質問者: cpmkb
解決済
2
0
-
PerlでMySQLのテーブル一覧取得
PerlでMySQLのデータベース内のテーブル一覧を取得することはできますか? 自分で以下の様なサブルーチンを作りましたが、返り値に何も入っていませんでした。 コマンドラインでもshow tables;で確認したのでテーブルは確実に存在します。 接続も showでfetchrow_arrayなどは使えないのでしょうか? またselect文でテーブル一覧を取得する方法がありましょうか? Error: failed to connect to DB.とは出てこないので、接続も成功しています。 sub mysql_tablesGet{ my @data=@_; my $db_id = $data[0]; my $db_password = $data[1]; my $dbh = DBI->connect("dbi:mysql:dbname=".$ftp_id.";host=$mysql_host", $db_id,$db_password) or die "$!\n Error: failed to connect to DB.\n"; my $sth = $dbh->prepare("show tables;"); $sth->execute; my @response; my $i=0; while(my @var = $sth->fetchrow_array){ my ($table_name) = $var[0]; $response[$i] = $table_name; $i++; } $dbh->disconnect; return @response; } MySQLのログはこんなのが出ています。 130406 17:11:44 70 Connect test2@192.168.11.22 on test2 70 Query set autocommit=1 特にエラーは出ていないので、show tables;は成功していると思います。
質問日時: 2013/04/06 18:38 質問者: t_rakuton
ベストアンサー
1
0
-
Perlのorのソケット接続での利用法について
一般的なソケットの接続は次のような書き方になっていると思いますが、connectでundefが帰って来た時にdieではなく、別の接続先に接続するような書き方を探っています。 connect(ファイルハンドル, 接続先) || die; 上記のコードを次のように書き換えてみましたが、接続先1で失敗した場合、接続先2に接続されるかと思いきや、そのままdieしてしまいます。 connect(ファイルハンドル, 接続先1) || connect(ファイルハンドル, 接続先2) || die; この書き方はどこがまずかったのでしょうか。 また、想定通りに動作させるにはどのように書いたら良いのでしょうか。 Perl初心者で大変恐縮ですが、何卒宜しくお願い致します。
質問日時: 2013/04/06 14:48 質問者: inshin
ベストアンサー
2
0
-
正規表現が意図しているより余計にマッチしてしまう
perl の正規表現について質問いたします。 末尾に記載したスクリプトを実行すると、入力中(__DATA__)の --- <subheadword>ccccc</subheadword> <p>ccccc</p> <p type="A">ccccc</p> <p type="B">ccccc</p> <p type="A">ccccc</p> <p type="B">ccccc</p> --- が、正規表現中の --- ( <subheadword>.+?</subheadword>\n <p>.+?</p>\n <p\stype="A">.+?</p>\n <p\stype="B">.+?</p>\n )+ --- の部分にマッチしてしまいます。 なぜマッチするのか、どなたか教えていただけませんでしょうか ---ここから末尾までがソース--- use strict; local $/ = "</dic>\n"; while (my $block = <DATA>) { if ($block =~ m{ <dic>\n <headword>.+?</headword>\n ( <subheadword>.+?</subheadword>\n <p>.+?</p>\n <p\stype="A">.+?</p>\n <p\stype="B">.+?</p>\n )+ </dic>\n }x) { print STDERR "NG\n"; } else { print STDERR "OK\n"; } } __DATA__ <dic> <headword>AAAAAA</headword> <subheadword>aaaaa</subheadword> <p>aaaaa</p> <p type="A">aaaaa</p> <p type="B">aaaaa</p> <subheadword>bbbbb</subheadword> <p>bbbbb</p> <p type="A">bbbbb</p> <p type="B">bbbbb</p> <subheadword>ccccc</subheadword> <p>ccccc</p> <p type="A">ccccc</p> <p type="B">ccccc</p> <p type="A">ccccc</p> <p type="B">ccccc</p> </dic>
質問日時: 2013/04/04 10:46 質問者: aaaammmm
解決済
4
0
-
perlでcheckboxがうまく整理できない
perl5.8でFormから送られてきたデータを取得し、整理しています。 FormはPOSTでperlに送り、データを整理したのですが、checkboxで複数のデータを送ったとき、うまく処理されていません。 Formのあるページも同じperlでcgiページを作り、エラーがあった場合、エラーメッセージ付きで再度そのcgiページを表示するようにしています。 次の内容で、@noにcheckboxで選択した番号が入るようにしています。 valueには - が余分にありますが、これは試しにcheckboxで複数選択してデータをsubmitしてみたところ、受け取り先の$in{no}で番号が連続して1つのスカラーで連なるので、番号を後に分割するために-を入れ、受け取り後、@no = split(/-/, $in{no});でばらして@noに番号を格納してあります $r_noは別のデータから受け取った比較先の番号です Formのcheckboxの部分は(実際はこれを複数回ループして$r_noが変化します) my $checkbox; foreach my $l (@no){ my $i = 0; if($l == $r_no){ $i = 1; } if($l == $r_no){ $checkbox = "<input type=\"checkbox\" name=\"no\" value=\"$r_no-\" checked>"; last; }else{ $checkbox = "<input type=\"checkbox\" name=\"no\" value=\"$r_no-\">"; } } print "$checkbox"; 2つ以上checkboxを選択して、わざとエラーが出るように他の部分を間違った選択をするようにして試してみたところ、@noには選択した分だけの番号が格納されているにもかかわらず、 if($l == $r_no){ の部分が真になるのは1つ目の@noとの真偽だけで、2つ目以降は本来真になるべき比較でも偽になってしまいます。 改行コードなどが入っているのかと思い、chompで後ろを削ったり、$l =~ s/\r?\n/K/g; $l =~ s/\r/K/g;で改行コードを可視化して確認してみましたが、それらしきものも入っていませんでした @noには選択した番号全てが収納されていますし、後ろに改行コードなど不要なものも入ってないのに真偽の分岐がうまくいかない原因は何にあるのでしょうか? 思い当たるものは一通り試したのですが、どうしてもわかりません。 「これが原因かも?」みたいな可能性だけでも結構ですので教えてください。 よろしくお願いします。
質問日時: 2013/04/03 19:48 質問者: choei
ベストアンサー
3
0
-
perlでのセッション管理を学びたい
perlでのセッション管理を学びたいです。 わかりやすく解説されたサイトなどがありましたら教えてください。 よろしくお願いします。
質問日時: 2013/04/03 04:48 質問者: nakisan2011_12
ベストアンサー
1
0
-
ふたつの並べ替えを同じように行うには
たとえば、 $out[0] = "いぬ"; $out[1] = "もりくぼしょうたろう"; $out[2] = "うさぎさん"; $out[3] = "からす"; $out[4] = "ねこ"; という @out を用意して以下のようにすると、 my @sorted = sort { length($b) <=> length($a) } @out; 長さでソートが行われます。おそらく長い順に並び替えが行われるので $sorted[0] = "もりくぼしょうたろう"; $sorted[1] = "うさぎさん"; $sorted[2] = "からす"; $sorted[3] = "いぬ"; $sorted[4] = "ねこ"; となると思います。 ここからが質問なのですが、 @out の他にもうひとつ @out と同じ数の変数を用意して、 $out_hitokoto[0] = "わんわん"; $out_hitokoto[1] = "いくぜ!相棒!"; $out_hitokoto[2] = "ぴょんぴょん"; $out_hitokoto[3] = "カァーカァー"; $out_hitokoto[4] = "にゃにゃーん"; @out_hitokoto は @out と対応しています。しかし、@outをソートすれば、 対応している@out_hitokotoも並べ替えを行わなければなりません。 ハッシュ変数はある事情から使えません。 なにかよい方法はないでしょうか? できれば、 my @sorted = sort { length($b) <=> length($a) } @out; の次の文章で@out_hitokotoに変化を起こさせたいのですが。 みなさんは、どうしますか?
質問日時: 2013/04/03 04:44 質問者: nakisan2011_12
ベストアンサー
2
0
-
utf-8のCSVをshift_jisに変換したい
Perl5.8でCSVをダウンロードできる仕組みをつくっています。 utf-8でコードを記述しているため当然ながらダウンロードしたCSVデータもutf-8です。 しかしながらエクセルでダブルクリックで開く場合どうしてもutf-8だと支障があるため、 shift-jis(もしくはcp932)で開きたいのです。 ダウンロード時に文字とファイルをshift_jisに変換する方法はございませんでしょうか? 以下作成済みのコード ------------------------------------------------------- if(!open(OUT,"$CSV_FILE")){&error('CSVデーターファイルがありません'); } else{ @csvdata=<OUT>; close(OUT); } foreach(@csvdata){ $downloaddata .= $_; } print "Content-Disposition: attachment; filename=$CSV_FILE_NAME\n\n"; print $downloaddata; exit; ------------------------------------------------------- 何卒よろしくお願いいたします。
質問日時: 2013/03/31 23:10 質問者: bakusui
ベストアンサー
1
0
-
perlで新規ファイルを作成できない(文字化け)
下記、PERLスクリプトを Windows 7+ActivePerl + UTF-8記述状態 で使いたいのですが、どうやら、「爱」が正常に変換されず、?という文字が発生しファイルの作成ができないようです。 普通に、Windows 7上で、$titleの爱愛aiをコピーしてファイルの作成はできるので、Perl上でもこの動作を何とか実現させたいのですが、どのようにすればいいでしょうか? ---test.pl(utf8記述)--- use strict; my $title = "爱愛ai"; # 念のためURLエンコードした物も書いておきます>%E7%88%B1%E6%84%9Bai use Encode; Encode::from_to($title, "utf8", "cp932"); open(F,">$title"); print F $title; close(F); open(F,">title_test.txt"); print F $title; close(F); -------------------------------
質問日時: 2013/03/27 18:42 質問者: titlk
ベストアンサー
2
0
-
PerlでSocketを閉じずに再利用する方法
インターネット上の情報を参考に作成したCGIでPerlのソケットを用いて通信を行っておりますが、CGIが呼び出されるたびに以下のような動作を行っております。 ソケット生成 -> ソケット接続 -> HTTP通信 -> ソケット切断 このうち、ソケットの接続におおよそ200ミリ秒ほどかかり、このレイテンシを減らすため、ソケットはCGIが呼び出されるたびに生成、接続するのではなく、最初からセッションを張った状態で、CGIが呼び出されるとHTTP通信部分のみを行うようにすることはできますでしょうか。 現在試したこととして、1回目の呼び出しでソケットをクローズせずに処理を終了し、2回目でソケットの生成、接続をせずに直接HTTP通信をしようとしてもうまくいきませんでした。 Perl、ネットワークプログラミング初心者なもので恐縮ですが、何卒よろしくお願いいたします。
質問日時: 2013/03/25 13:49 質問者: inshin
ベストアンサー
1
0
-
PerlからSSLのページを読み込みたい
ここのページを参考にuse Socketでホームページを読み込むスクリプトを作りました。 http://ash.jp/perl/socket_http.htm httpは問題なく読み込めるのですが、httpsのページが読み込めません。 以下のように'http'を'https'に変更してみたのですが、エラーになります。 $port = getservbyname('https', 'tcp'); ■エラー Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. ---- use Socketではsslのページを読めないのでしょうか? Perlでsslのページを読む方法はありますでしょうか?
質問日時: 2013/03/22 15:09 質問者: workpad30j
ベストアンサー
1
0
-
ランダムに数字選択
Perl初心者です。 1~8のうちの数字のランダムな並び変えと、その中から以下の条件で数字を6つ選びたいのですが、方法が分からず、ご教示いただければ幸いです。 やりたいのは、 1)1~8から6つの数字を選びたい。 2)数字のうち、6,7,8は1つしか選ばれないようにして、かつ3番目か4番目に入るようにしたい です。 たとえば、 2,3,6,1,4,5(6が選ばれて3番目に) 4,5,3,8,1,2(8が選ばれて4番目に) 1,3,7,2,5,4(7が選ばれて3番目に) 等の結果が得られることを期待しています。 ちなみに、単純に8つの数字のランダムを作るときは以下のように記述していました。 可能であれば、これにどう追記したら上記のことが実現できるかご教示いただけると嬉しいです。 どうぞ宜しくお願いいたします。 my @buf = ("","","","","","","","",""); my @buf2 = ("","","","","","","","",""); my $set_flag = 1; my $idx = 0; while(){ if ($set_flag > 8){ last; } $idx = int(rand(8)) + 1; if ($buf[$idx] ne ""){ }else{ $buf[$idx] = $set_flag; $buf2[$set_flag] = $idx; $set_flag++; } } my $q_list = ""; for(my $loop=1;$loop<=8;$loop++){ if ($q_list ne ""){ $q_list .= ","; } $q_list .= "" .$buf2[$loop]; }
質問日時: 2013/03/17 11:44 質問者: kujitan
ベストアンサー
3
0
-
Perl アンド検索
恐れ入ります。 perlにて、&検索を実行する為に、以下のようにしています。 しかしうまく動作しません。 use CGI $word = $form->param('word'); open (IN<, "xxx.txt"); $rec=<IN>; $where="$rec ne '' "; if($word ne ''){ $word =~ s/ / /g; @word_array = split(/ / , $word); foreach (@word_array){ $where .= "and $rec=~/$_/ "; } } if($where){ @rec=split(/,/, $rec); //省略 xxx.txtを$recに格納して、フォームより送信されてきたスペース区切りの語句を、分割し、各々をマッチさせて検索したいのですが、 どのようにしたらよいでしょうか。よろしくお願いします。
質問日時: 2013/03/13 11:27 質問者: spider32
ベストアンサー
1
0
-
CygwinでPerlのCSV_XSを実行する
Cygwin TerminalをWin7x64にインストールしました。 インストール完了後、Perlプログラムでuse Text::CSV_XSを実行すると Can't locate Text/CSV_XS.pm in @INC エラーが出てしまいます。 ・エラー Can't locate Text/CSV_XS.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 /usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /usr/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/site_perl/5.8 .) at mysql.pl line 11. ・やってみたこと perl -MCPAN -e shell install Text::CSV_XS を実行してみたのですがダメでした。 どのように対応すれば解決できますでしょうか? ご教授お願いします。
質問日時: 2013/03/11 01:33 質問者: ShiftTail
ベストアンサー
2
0
-
Perlでエラーログに日時をつける
BEGIN { open ( STDERR, '>>', '.err.txt' ); } # エラーログ出力する とやると、エラーログをerr.txt に出力する事ができますが、このエラーメッセージの先頭に自動的に日時をつける方法はないでしょうか?
質問日時: 2013/03/08 03:51 質問者: nakisan2011_12
ベストアンサー
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Perl】に関するコラム/記事
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
-
メダロット:第248話「Vol.248※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
タンス預金で旧紙幣を持ち続けるのは大丈夫?タンス預金のメリット・デメリットを紹介
今年7月、約20年ぶりに新紙幣が発行される。紙幣が変わることを改刷というが、この改刷には「タンス預金をあぶり出す目的があるのでは?」という見方をする人もいるという。「教えて!goo」にも「改刷で本当にタンス...
-
投資詐欺の手口や被害に遭わないためのポイント、被害後の対応策を弁護士が解説
新NISAが始まって間もなく半年が経過する。政府の旗振りの元、預貯金大国から脱却し、資産運用立国に向けた滑り出しは順調のようで、それはNISAの利用状況(2023年4月から2024年4月)を見ても明らかだ。 ・NISA口座...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルをディレクトリ分配のプロ...
-
Perlで特定文字列から特定文字列ま...
-
テキストファイルで提出とは?
-
perlのrequireの動き方についての質問
-
Perl の外部モジュールの利用方法
-
Perlで同じフォルダにある任意のテ...
-
Perl 特定のフォルダ以外削除
-
perlでタイムスタンプを日時で表す...
-
perlをバージョンアップしたら、今...
-
画像が表示でnull; this.src
-
INDIRECT 横に再度抽出したい
-
perl のエラーC:/Perl/lib/WWW/Mech...
-
Perlでの文字列置換
-
Perlで縦横変換のような事をしたいです
-
Perl 複数ファイルの処理 log1.txt ...
-
[perl] perlで書き込み中に、PC再起...
-
アルファベットに付いて質問します...
-
#!/usr/bin/perlで書きだしたCGIを...
-
Perlのエラーについてご教授くださ...
-
perlのflock関数でロックをかけたま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプログラ...
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
Perlで特定文字列から特定文字列ま...
-
perlをバージョンアップしたら、今...
-
Wallpaper Engineでおすすめの壁紙...
-
arduino の割り込み処理について
-
アルファベットに付いて質問します...
-
Strawberry Perl for Windows で Ou...
-
Perlで時間の計算
-
このファイルを開く方法で困ってい...
-
TeraPadエディターの操作方法について
-
cgiでサーバーにファイルを追加する
-
フローチャート 九九
-
LinuxにおいてのPerlのプログラムの...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授くださ...
-
こんにちは ブラケッツでプログラミ...
-
bashスクリプト
-
perlプログラミング 空白行削除
おすすめ情報