回答数
気になる
-
CSVが可変長の場合の検索方法
入力ファイルであるCSVが可変長の場合の検索方法について教えて下さい。 以下、入力ファイル例 ※項目数としては10項目以上あります。 aaa,12345,b,01,c bbb,,c,02,d ccc,76543,d,,e ddd,,,04,f 上記入力ファイルを読込み、例えば2項目目と4項目目が未入力が否かをチェックするロジックを作成したい場合、実現する為にはどうすれば良いでしょうか? 多分FOR文でTOKENSを使用しても可変の為、うまく該当項目が取得できないと思ってます。 それを回避できるやり方を教えて頂きたく投稿してます。 どなたか回答の方よろしくお願いします。
質問日時: 2016/06/26 17:39 質問者: miyacarp
ベストアンサー
4
0
-
perl ver5.24.0 x68版で、requireを使ったライブラリの呼び出しでエラー
現在ローカルで、perlを使って自作のcgiを作成しているのですが、 最近、perl ver5.12.4→ver5.24.0にしたのですが、 「ver5.12.4をファイルシュレッダーにかけて削除し、ver5.24.0をインストしました」 問題なくインストールは終了し、ローカルサーバーを立ち上げてブラウザで, 作成途中のcgiにアクセスした所、 エラーが出まして、requireの呼び出しの行でエラーになっています。 ↓呼び出し行は↓ require './jcode.pl'; 自分では、全く理解できないので、一度ver5.24.0を削除し、再びver5.12.4を、 インストールした所、問題なくrequireを使ったライブラリの読み込みに成功しました。 バージョンが、0.12も上がっているので、上記の呼び出し方法では駄目なのでしょうか? もしくは、jcode.pl自体に問題があるのでしょうか? 下記のjcode.plは、最後の行に真を返す「1」が記載されているので、問題はないと思うんですが。。 詳し方のご伝授して下さい。 よろしくお願い致します。
質問日時: 2016/06/20 15:09 質問者: 麝香猫
ベストアンサー
2
0
-
perlで複数行のデータを自由に扱い計算させたい
__DATA__を読み取り、過去読んだものと照合計算し期待する結果を出力するにはどのようにプログラムにするのが良いでしょうか? また、もし良ければ、こういったアルゴリズム?を思いつくにはどのように勉強するのが良いでしょうか?良い方法をご存じでしたら教えて下さい。 宜しくお願い致します。 ---期待する結果--- 1+5+7 2+6+8 3+7+9 4+8+10 以下続く ---code.pl--- while(<DATA>){ 処理; } __DATA__ 1 2 3 4 5 6 7 8 9 10 以下続く
質問日時: 2016/06/19 14:41 質問者: elee_f
解決済
10
1
-
Perlで日本語から始まり記号で終わる一文を指定・消去する方法
Perlで特定の文章を処理して必要な文言だけを残すプログラムを書いています。 PerlのバージョンはアクティブPerlの最新版です。かなりうまくいっているのですがもう一歩が足りません。恐縮ですが、初歩の私に文書処理のプログラミングに詳しい方、ぜひご教授ください。ソース全部を乗っけるとまずいのでこの一文だけが残っているとみてください。 「ブログタイトル、ヘッダー広告 はじまり」で始まり 「</hgroup>」で終わる文言だけを削除したいです。この場合どのように指定すればいいのでしょうか?内部にスペースキーや日本語文書が不特定多数含まれており、これをソースコードにするとかなり見ずらいです。なんとか簡単にこの一文を消すだけのコマンドを教えていただけませんか? あとANSI形式でテキストファイルを出力するコマンドはありますか?このあたりはまったく初心者で調べてはみたのですが、ほとんど理解できるだけの情報が出てきませんでした。出力ソースはprint "$_";となっています。Win10のコマンドプロンプト上でPerlにつないでコマンドしております。 ループさせて、s///g;を使っていけばいいことはわかるのですが...。
質問日時: 2016/05/23 10:44 質問者: MikasaJun
ベストアンサー
1
0
-
Open 2chやまとめサイトは、2chのデータをどのように取得しているのでしょうか?
2ch datからの取得が登録制になったため、基本的にはデータの取得は出来なくなったと思うのですが、open 2chや他のまとめサイトなどは問題無くデータを取得しているように見えます。 どのように取得しているのでしょうか?
質問日時: 2016/04/23 15:04 質問者: teii0
ベストアンサー
1
0
-
perlで 引数1を別リストの複数項目に自動的に変更して実行させたいです
perl.pl 引数1(項目) 引数2(A.txt)を実行する際に、 引数1を 他リスト(B.txt)にある複数 項目に 自動的に変更して実行させたい場合のスクリプトの書き方を教えていただければ幸いです。 初学者の質問で申し訳ありませんがよろしくお願いします。
質問日時: 2016/04/19 16:53 質問者: pocketneko
ベストアンサー
3
0
-
Perl 先頭のスペースを複数削除
先頭の全角スペースを全部削除する場合の記述を教えてください。 $val="全角スペース全角スペース全角スペースあいうえお" これだと先頭1文字しか削除できない。 $val =~ s/^ *//g; ※スペースは全角スペース 結果$valの中身 ”あいうえお" ※Perlのバージョンが5.0のため「use utf8」 が使えないため 変換は「jcode.pl」を使っています。
質問日時: 2016/03/31 11:17 質問者: lasdfasdfas
ベストアンサー
3
0
-
Perlについて
jcode.plを使って、 入力された文字列を例えば30文字ぐらいに切ってファイルに書き込む処理をしていますが、 文字列によっては最後の文字が文字化けしてしまうものがあります。 この場合どうすれば良いのでしょうか? 例) 「はじめまして」 を 「はじめま」にしてファイルに書き込むと 「ま」の文字が文字化けする。 現在の切り取り処理方法 $in = substr($in,0,30);
質問日時: 2016/03/27 17:33 質問者: lasdfasdfas
解決済
7
0
-
入力ファイル 先頭3桁を「抽出、ソート、重複削除」する方法
入力ファイルの各行の先頭3桁は数字になっています。その3桁を「抽出、ソート、重複削除」したいのですが、どのようにしたらよいかわかりません。 教えて頂けると幸いです。
質問日時: 2016/03/18 17:16 質問者: ahmuzencab
ベストアンサー
2
0
-
ファイルのワイルドカードについて
ファイルの存在をワイルドカードで指定したいのですが、どのような書き方でできますでしょうか。 $file="home/hoge1.txt"; if(-f $file){print"存在します。";} 上記の場合、hoge1.txtの部分をワイルドカードを使って、hoge*.txtとしたいのですが、うまく結果が得られません。 この場合の書き方を教えていただけないでしょうか。 よろしくお願いします。
質問日時: 2016/03/02 03:15 質問者: hana43
ベストアンサー
1
0
-
最後のレコードを編集したい。
xyz.logというテキストファイルがあります。 構成は長さは不定ですが、1レコードが12個の"<>"で区切られたフィールドを持ちます。 01<>abc<><>5<>33<>~<>82<> のような。 教えて欲しいのは、 このファイルの最後のレコードの10番目のフィールドの値を「0」にしたいのです。 最後のレコードはpop,pushで触れるのは分かるのですが、 そのレコードの編集の方法が分かりません。 @lines = <IN>; $wkrec = pop(@lines); ********************************* ここの部分 push (@lines,$wkrec); 宜しくお願いします。
質問日時: 2016/02/26 16:33 質問者: nagahaha
ベストアンサー
2
0
-
perlでmysqlのfetchrowとfetchrow_arrayの違いは何でしょうか
windows7のactiveperlでmysqlを使っています。 fetchrowは良く使いますが、fetchrow_arrayとの違いは何でしょうか。 宜しくお願いします。
質問日時: 2016/02/18 20:51 質問者: usui-2015
ベストアンサー
4
0
-
perlで今日の日付から、今月の1日から月末迄の連続した日付を出カしたいがどうすれば?
perlで今日の日付から、今月の1日から月末迄の連続した日付を出カしたい。その方法がわからない。 例えば、今日の日付が2016年2月17日と仮定して、その日付から年が 2016年。月が2月と分かる。その数値を使って、2016年2月の最終日を求 める。この場合は、29日。 それで、2016年2月1日から、2016年2月29日迄の連続した日付を出カし たい。但し、フォーマットは、2016-02-29の形式で出カしたい。 perlのソースを提示願います。環境は、windows7のactive perlを使っています。 宜しく、お願いします。
質問日時: 2016/02/17 15:13 質問者: usui-2015
ベストアンサー
1
0
-
Perlプログラムでの足し算の表示
はじめまして。 先日プログラムの講義においてこのような課題が出たのですが解けなくて困っています。 分かる方いらっしゃいましたらよろしくおねがいします。 私Perlプログラム始めたての素人ですので、お手柔らかにお願いします。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 以下のように標準入力で整数を入力し、1から入力した数まですべての整数を足し合わせて表示するperlプログラムをfor文を用いて作りなさい。 Please type a number. 5 1+2+3+4+5=15 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
質問日時: 2016/02/01 18:47 質問者: Amanogawaaaaa
ベストアンサー
2
0
-
PerlのDate::Simpleが動かない?
Perlの勉強が必要になった初心者にすら到達していないど素人からの相談です。 現在『つくって覚えるPerl入門』を読みながらPerlの勉強をしているのですが、 モジュールのDate::Simpleをインストールして下記の内容のplファイルを作成 したのですが、実際に日付でありえない日などを入力しても日付に誤りがあります と表示してくれない状態です。 # 日付チェック use Date::Simple; if ($pdate eq Date::Simple::date($pdate)){ $date_check = 'ok'; } else { $date_check = 'error'; 中略 # 日付に誤りがあればメッセージを表示する if ($date_check eq 'error') { print '(日付に誤りがあります)'; Perlの -cw のチェックでもOKが出ますし、Web上でもエラーは出ないのですが、 メッセージを表示してくれません。 Date::Simpleインストール前のチェックではインストールしていないとエラーが 出ていたのでインストールに失敗したとも思えない状態です。 どなたかおわかりの方がいましたらアドバイスをお願いいたします。 ※ほかにも必要な情報がありましたら返信をお願いいたします。
質問日時: 2016/01/25 20:36 質問者: giru
ベストアンサー
1
0
-
perlのmysqlで文字化けをする、修正個所を指摘願います。
下記のperlのソースで出カさせると文字化けをする。 windows7でutf8で書いています。 mysqlの設定はutf8になっています。 print文で漢字以外は正常ですが、漢字の部分が文字化けをします。 修正個所を指摘願います。 宜しくお願いします。 use Encode; use utf8; use open IO => ":encoding(cp932)"; binmode STDOUT,':utf8'; # DBIモジュールを読込む use DBI; # データベース名を設定 $database = "mail"; # ホスト名を設定 $hostname ="localhost"; # ユーザ名を設定 $user = "****"; # データベースにパスワードを設定していれば指定 $password = "****"; # データベースのオブジェクトを作成して接続 $dsn="DBI:mysql:database=$database:host=$hostname"; $dbh = DBI->connect($dsn,$user,$password); $rs = $dbh->prepare("select * from mail limit 100;"); $rs->execute(); # 取得したレコードセットの数だけループして表示 while(($mail,$id) = $rs->fetchrow()) { print join("|",$mail,$id),"\n"; } # レコードセットを閉じる $rs->finish; # データベースを閉じる $dbh->disconnect; exit;
質問日時: 2016/01/21 17:45 質問者: usui-2015
ベストアンサー
3
0
-
Chart::Gnuplotの使い方
CGIでGnuplotを使いたいのですが、初心者なので良くわかりません。 モジュールはインストールできていると思うのですが。 $ find `perl -e 'print "@INC"'` -name '*.pm' -print /Library/Perl/5.18/Chart/Gnuplot.pm しかしテストCGIが動きません use strict; use Chart::Gnuplot; my $chart = Chart::Gnuplot->new( output => "gallery/axisLabel_1.png", title => "Default format of the axis labels", xlabel => "x-label", ylabel => "y-label", x2label => "x2-label", y2label => "y2-label", ); my $dataSet = Chart::Gnuplot::DataSet->new( func => "sin(x)", ); $chart->plot2d($dataSet); またターミナル上でも使えません $ gnuplot -bash: gnuplot: command not found わかる方がいれば教えていただきたいです。 よろしくお願いします。
質問日時: 2016/01/20 16:00 質問者: kamei
解決済
1
0
-
Perlで文字の切り出し時に起こるエラーの解決策
お世話になります。 今、Perlで文字列を抽出するプログラムを作っています。 プログラムのソースは以下の通りです。 #!/usr/bin/perl $cutString = "\\\\disk ..省略.. 9\\"; while(<>) { if(/\A$cutString(.+);/){ print "$1\n"; } } これをシェルで、パイプでgrepしてきた行に適用したいと考えています。 シェルの内容は簡単に示すと grep "aaa" aaa.txt | perl test.pl > test.txt のような形になっています。 このシェルを実行すると Unmatched ) in regex; marked by <-- HERE in m/\A\\disk ..省略.. 9\(.+) <-- HERE ;/ at test.pl line 7, <> line 1. というエラー文が二回返ってきます。 いろいろと調べたのですが解決方法がわかりません。どうにか動かす方法をご教授お願いします。
質問日時: 2015/12/30 14:19 質問者: ちぇりこ
ベストアンサー
1
0
-
lib/*.pm というファイルに必要なperl version infoとは?
「初めてのCatalyst入門(2)Catalystアプリはどのように作るのか?」 で練習を始めました。windows7 に AcitveState でPerlを乗せています。 Helloworld.pmを編集してMakefile.PLを行いますが、 Makefile.PLでCannot determine perl version info from lib/Helloworld.pm と、Helloworld.pmを無視してMakefile.PLされます。 lib/*.pm というファイルに必要なperl version info とはどのようなものなのでしょうか?
質問日時: 2015/12/26 11:32 質問者: Perl初心者です。
解決済
2
0
-
perlのs構文で置き換えに式を用いたいが使い方が分からない
perlのs構文で置き換えに式を用いたいが使い方が分からない 下記の$aの中のcounterの値を夫々1から3に変更した内容を求めたい。 $a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1));"; $a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=2));"; $a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=3));"; それを求め様として、下記を実行したが下記の様な結果になる。 $a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=counter));"; for $i(1 .. 3){ $a =~ s/counter/$i/e; print "$a\n"; } 結果は下記です。 UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1)); UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1)); UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1)); 何処が可笑しいのだろうか。修正個所とその時のperlのソースを提示願います。 宜しくお願いします。
質問日時: 2015/12/19 10:47 質問者: usui-2015
ベストアンサー
1
0
-
perl でエラー:Wide character in・・・とは何がいけないのでしょう?
エラーメッセージ: Wide character in subroutine entry at C:/Perl64/lib/Encode.pm line 221. この意味と対応策を教えてください。
質問日時: 2015/12/17 16:20 質問者: Perl初心者です。
ベストアンサー
3
0
-
親記事のみを表示したい。
再びお世話になります。 perl5.14の環境でログ表示のみのスクリプトを作っています。 4<>一平<>記事<>オヤ<><><> 3<>次郎<>記事<>おや<><><> 1<>太郎<>記事<><><><> 1<>次郎<>記事<><><><> 2<>花子<>記事<><><><> 2<>太郎<>記事<>親<><><> 1<>太郎<>記事<><><><> 1<>花子<>記事<><><><> 1<>太郎<>記事<>oya<><><> 上記のようなログデータから4番目の値がある行だけを取り出したいです。 以下のように書くと一行目のオヤの行だけが取り出されてしまいます。 html側で言うとレス記事の行を非表示にしたいのです。 # ログの表示 foreach $i (@file){ ($num,$name,$msg,$oya,$url,$mail) = split(/<>/,$i); @file = grep /$oya/, @file; print <<EOM; $num<br> $name<br> $msg<br> $oya<br> $url<br> $mail<br> ---------------<br> EOM } 4番目の値の文字列が変ってしまう場合も一緒に取り出すにはどう書けばよいのでしょうか? よろしくお願いいたします。
質問日時: 2015/12/13 00:26 質問者: anwar
ベストアンサー
7
0
-
perlで添付ファイルの送信でpermission deniedが出て動かない
use strict; use warnings; use MIME::Lite; use Jcode; my $from = 'usui@*******'; # 送信元 my $to = 'yamada@******'; # 送信先 my $path = '.'; # 添付するファイル(このファイルを読み込む) my $filename = 'CIMG0020.JPG'; # 添付ファイル名(このファイル名でメールに添付する) my $type = 'image/jpeg'; # 添付ファイルタイプ my $subject = '++++++++++++++++++++'; # サブジェクト my $message = '-------------------------'; # 本文 # メールサーバの指定(省略時はsendmailコマンドを使用する) MIME::Lite->send('smtp', '88888888'); $subject = jcode($subject)->mime_encode(); $message = jcode($message)->jis; my $msg = MIME::Lite->new( From => $from, To => $to, Subject => $subject, Type => 'multipart/mixed', ); $msg->attach( Type => 'text/plain; charset="iso-2022-jp"', Encoding => '7bit', Data => $message, ); $msg->attach( Type => $type, Path => $path, Filename => $filename, Disposition => 'attachment', ); $msg->send; 上記で最後の$msg->sendで open .: Permission denined のエラーが出る 問題の原因と修正個所の指摘をお願いします。
質問日時: 2015/12/03 12:56 質問者: usui-2015
ベストアンサー
7
1
-
モジュールがインストール出来ない
http://gazo.shitao.info/r/i/20151203043653_000.png windows7, ActivePerl 5.16, CPANを使おうとすると画像のようになり、Cコンパイラ関係(?)をダウンロードできないような感じになります。 検索含め色々やってみましたがよく分かりませんでした。 プロ串のチェックとはいったいなんなんのでしょうか?
質問日時: 2015/12/03 04:43 質問者: SATANUKI
解決済
1
0
-
perlの書き方を丸投げで教えてください
perlで書かれた掲示板への書き込みの際、メッセージの中のURLに#がある場合、その中の#を%23にするのに次のようになっています。 my $char = '-_\.!~*\'()a-zA-Z0-9;/?:@&=+$,%#'; $MsgTrans =~ s|(https?:\/\/[$char]+)|&change($1)|sge; sub change{ my ($line) = @_; if($line =~ m|(https?:\/\/[$char]+)\#([$char]+)|){ $line = "<a href=\"$RS$1%23$2\">$1#$2</a>"; }else{ $line = "<a href=\"$RS$line\">$line</a>"; } return $line; } これを踏襲しつつ、特定のURLの場合、$RSがつかないようにするにはどう書けばよいですか。
質問日時: 2015/11/26 15:08 質問者: anwar
ベストアンサー
4
0
-
インターネットサーバーとクライアント
もし暇な方がいらっしゃいましたら、元々入っている標準モジュールのみで、 インターネットサーバーとクライアントを作るとどのようになるのか、 Hello World の最小限の記述を書いて頂けないでしょうか? 1:クライアントにIPとポートを入力し、Hello Worldを送信する。 2:Hello World受け取ったサーバーは、クライアントに対しHello Worldを送信する。 * サーバーもクライアントもwindowsで動作するものとする。
質問日時: 2015/11/23 05:41 質問者: SaLeeFA
ベストアンサー
1
1
-
すいませんです、クイズの問題ですが、教えてください。
下記の文字には、ある法則で並んでいる文字があります。■に入る文字は何でしょうか? 無 無 T T ■ H H O E D
質問日時: 2015/10/18 15:02 質問者: fujio
ベストアンサー
1
1
-
perlのlwp::simpleのgetのprintで文字化けが出る
下記のperlのソースで文字化けが出る。wide characterのエラーが出ます。 use LWP::Simple; print get('https://opac.toshokan.city.fukuoka.lg.jp/licsxp-opac/WOpacUsrLendListAction.do'); ソースはcp932 urlはutf-8で書かれています。 utf-8フラグの関係だとは思いますが。 対処が分かりません。 エラーが出ない様なperlのソースをご提示願います。
質問日時: 2015/10/04 09:28 質問者: usui-2015
ベストアンサー
3
0
-
掲示板のCGIで、書き込み者の本人特定をする方法は、どれがいいでしょうか?
お世話になります。 よろしくお願い致します。 環境変数というのを覚えました。 $host = $ENV{'REMOTE_HOST'}; $addr = $ENV{'REMOTE_ADDR'}; $agent = $ENV{'HTTP_USER_AGENT'}; で、これを記録すればほとんどOKなんですが、 あと、何か記録するとしたら何がいいのでしょうか? $cook = $ENV{'HTTP_COOKIE'}; で、クッキーだと記録内容が長すぎですので、短めので、効果があるのがいいのですが…。 本人特定に結び付く効果的な環境変数は何かあるでしょうか? 荒らし対策です。よろしくお願い致します。
質問日時: 2015/09/27 06:55 質問者: kitaone
ベストアンサー
2
0
-
こういうCGIはあるでしょうか?Perlです。
お世話になります。 自分のホームページに仲間のホームページをリンクしています。 自分のホームページから、そのリンク先に飛ぶ場合に、1日あたりどれくらいクリックされているか調べたいと思いました。 そういうCGIはないでしょうか? もしあればお手数ですが教えてください。
質問日時: 2015/09/26 21:33 質問者: kitaone
ベストアンサー
1
0
-
画像のURLの変数を別のCGIで表示させる方法を教えてください。
画像掲示板を改造しようとしていますが、分かりません。 よろしくお願い致します。 元の画像掲示板をmoto.cgiとします。 そこに投稿された画像のURLは、$gazo_urlという変数になっています。 別のCGIをbetu.cgiとすると、 betu.cgiに画像を表示させるには、どうしたらいいのでしょうか? betu.cgiに↓こんなふうに書いても全然ダメでした。 <IMG SRC="$gazo_url" BORDER="0" > ド素人ですいません。 よろしく教えてください。
質問日時: 2015/09/20 12:56 質問者: kitaone
ベストアンサー
2
0
-
クエリーが含まれるURLを特定のドメインからのみアクセスできるように.htaccessでアクセス制限
CGIでクエリーが含まれるURLを特定のドメインからのみアクセスできるように.htaccessでアクセス制限したいのですが、うまくいきません。 クエリーが含まれるURL http://www.example.com/sample/view.cgi?mode=admin 上のURLへはhttp://www.hoge.comからのみアクセスできるようにしたいのです。 下記のように記述してみましたが、やはりダメでした。 <Files ~ "view\.cgi?mode=admin$"> SetEnvIf Referer "^http://hoge\.com" ref1_ok order deny,allow deny from all allow from env=ref1_ok </Files> どなたか教えてください。
質問日時: 2015/09/16 15:10 質問者: cgicold
解決済
1
0
-
リーグ表のようなもの
うまく説明出来ないのですが、画像のような表を物を作りたいのですが、 私の頭では上手に作ることが出来ませんでした。 http://gazo.shitao.info/r/i/20150913181738_000.png @n = qw(a b c d e f g); @nの数は不明です。 奇数ならば選ばれない要素が一つあるはずです。 解はいくつかあると思いますが、そのうちの一つを得られればそれで解決します。
質問日時: 2015/09/13 18:25 質問者: SaLeeFA
解決済
2
0
-
全組み合わせ
久しぶりにプログラミングしたら極端に頭が悪くなっていました。 死にたい。 my @a = qw(a b c d); @aには何個の値が入っているか分かりません。 これを全組み合わせが欲しいのですが、どのようにするのが良いでしょうか。 abcd abdc acbd acdb adbc adcb bacd …以下略 できれば、見るからに分かりやすい記述と 速い記述の2種類書いて頂けると幸いです。 ちなみに頑張ってたら作りたいのと全然違う物ができますた。ウエーン my @a = qw(a b c d e f); my %h = map{ $_, $a[$_] } 0..$#a; #感覚的によく分からないので数字のハッシュにする。 foreach my $n (0..((@a ** @a) - 1)){ my @p = (); unshift @p,($n % @a); while($n = int($n / @a)){ unshift @p, ($n % @a); }; foreach my $k (@p){ print $h{$k}; } print "\n"; } しかも@aが増えると爆発的に遅いです。(当たり前か)
質問日時: 2015/09/05 11:10 質問者: SaLeeFA
ベストアンサー
2
0
-
perlでMail::Mbox::MessageParserの使い方が分からない
perlのMail::Mbox::MessageParserをインストールしました。それで、サンプルで下記を動かそうとしたら下記のエラーが出ました。最初にコードを次にエラーを示します。 1 use Mail::Mbox::MessageParser; 2 3 my $file_name = './mail.txt'; 4 my $file_handle = new FileHandle($file_name); 5 6 # Set up cache. (Not necessary if enable_cache is false.) 7 Mail::Mbox::MessageParser::SETUP_CACHE( 8 { 'file_name' => '/tmp/cache' } ); 9 10 my $folder_reader = 11 new Mail::Mbox::MessageParser( { 12 'file_name' => $file_name, 13 'file_handle' => $file_handle, 14 'enable_cache' => 1, 15 'enable_grep' => 1, 16 } ); 17 18 die $folder_reader unless ref $folder_reader; 19 20 # Any newlines or such before the start of the first email 21 my $prologue = $folder_reader->prologue; 22 print $prologue; 23 24 # This is the main loop. It's executed once for each email 25 while(!$folder_reader->end_of_file()) 26 { 27 my $email = $folder_reader->read_next_email(); 28 $email = $folder_reader->read_next_email(); 29 print $$email; 30 } Not a mailbox at C:\Users\usui\EDMax\mbox\01.pl line 18. これは、10行目の$folder_readerの中の12行目の$file_nameの指定が間違っているのでしょうか。$file_nameは、3行目で指定しています。使っているperlはactive perl ver5.20です。mail.txtは最初にsmtpヘッダー、次に本文が続いています。これが一つのメールで複数のメールがこの後に続いています。 エラーの意味と修正個所の指定をお願いします。
質問日時: 2015/09/03 07:28 質問者: usui-2015
ベストアンサー
4
0
-
perlのgrepで要素を返す値がおかしい。何が原因でこう言いう結果になるのかを知りたい。
下記のperlのソースでperl 01.pl 01.txtの出力が常に1となる。 @tmp=<>; $result=grep{$tmp[$_] =~ /^end_of_file/} 0 .. $#tmp; print $tmp[$result]; 01.txtには漢字が入っている。これが悪さをしているんだろうか。入力ファイルは、sjis。perlのソースもsjisです。 宜しく、お願いします。
質問日時: 2015/08/31 11:14 質問者: usui-2015
ベストアンサー
2
0
-
perlの引数で複数のファイル処理をしたいのですが動作しません、教えて下さい。
perl 01.pl 01.txt 02.txtで01.txtと02.txtの二つのファイルを処理したいのですが方法が良く分かりません。以下のソースです。 @in1=<> # 01.txtを読む @in2=<>; # 02.txtを読む print @in2; ここで、何もしなければそのままです。ここではどうやら標準入力からの入力待ちの状態になっています。なのでコントロールキーとZキーを打鍵してやると終わります。この時に、01.txtと02.txtの内容を表示しての終了となります。 理屈が分からない。 ・何故、指定もしていないのにも関わらずに標準入力待ちになっているのか ・どうして、全てを表示する事になるのか 多分にこれは私がperlの動きを理解していないのが原因だとは思いますが。私の誤っている理解を御指摘願います。
質問日時: 2015/08/31 06:48 質問者: usui-2015
ベストアンサー
1
0
-
次のPerlのファイルロックのサブルーチンの解読お願い致します。
## ファイルロック sub file_lock{ # ロックファイルの時刻チェック local($flag) = 0; if(-M $lock_file > 0.01){ unlink($lock_file); } foreach(1..5){ unless(-f $lock_file){ if(open(TMP,">$lock_file")){ print TMP "file locking\n"; close(TMP); $flag = 1; last; } } sleep(1); } if($flag == 0){ &error("データファイルを他のユーザーが使用中の為書き込みが出来ません。"); } } 以上は、dataフォルダの中にtmpファイルを、あるユーザーが書き込み中に作って、 その処理が終わるまでは他のユーザーの書き込みが出来ないということで 概要はいいのでしょうか? 質問は、5行目の、 if(-M $lock_file > 0.01)の0.01についてです。 これは、0.01秒のことを言っておるのでしょうか? 以上のように殆どPerlを片言以下で理解しているド素人です。 0.01秒じゃ少ないので0.2にしたら問題があるでしょうか? 質問はチンプンカンプンでしょうか? ド素人の私によろしくご教授お願い致します。
質問日時: 2015/08/21 18:40 質問者: kitaone
ベストアンサー
1
0
-
あれれ、クッキーが機能しません。どうしてでしょうか?
なんか変です。 print "Set-Cookie: BBS=$cookies; expires=Tue, 1-Jan-2030 00:00:00 GMT;\n"; とためしに記述したら、 Set-Cookieが機能しなくて、パソコンの画面に 下のように、文字がそのまま出てしまいます。 Set-Cookie: BBS=name:あいうえお,mail・・・・・・・ expires=Tue, 1-Jan-2030 00:00:00 GMT; Content-type: text/html ド素人ですいません。 訳が分からなくなってきました。 どうしたら直せるでしょうか? よろしくお願い致します。
質問日時: 2015/08/19 17:10 質問者: kitaone
ベストアンサー
3
0
-
Internal Server Errorになる原因はなんでしょうか?
お世話になります。 二つのサーバーを借りています。 AとBというサーバーとしておきます。 このCGIは今までちゃんと動いておりましたが、バグがあったので修正してAのサーバーで正常に動かしました。 そのCGIをBのサーバーで動かそうとしたら、Internal Server Errorになってしまいます。 パーミッションはOKです。今まで通り755でやっています。 最初もOKです。 #!/usr/bin/perl ほかに何か原因があるのでしょうか? ド素人で恥ずかしいですが、教えてください。
質問日時: 2015/08/18 20:25 質問者: kitaone
ベストアンサー
1
0
-
クッキーに食わせる前に文字化けを直したいです。
お世話になります。 Perlは超ド素人です。 ほとんど分かっておりません。 そんな者がおこがましいですが、 クッキーに名前を食わせて吐き出させると文字化けしてしまいます。サファリだけですが。 $nameをなんとか処理してから、$cookie{'name'} を設定した方がいいのでしょうか? 教えてください。よろしくお願い致します。 # この時点での値をクッキーとして設定する。 undef %cookie; $cookie{'name'} = $name; $cookie{'mail'} = $mail; $cookie{'age'} = $age; $cookie{'sex'} = $sex; &print_cookie($cookiename, $cookiedays);
質問日時: 2015/08/18 08:02 質問者: kitaone
ベストアンサー
2
0
-
[perl] ファイル削除でごみ箱へ移動させるには?
Windows 7 64bit でunlinkでファイルを削除するとゴミ箱へ移動することなく消えてしまします。 ゴミ箱へ移したいのですがどのようにすればよいでしょうか?
質問日時: 2015/08/01 20:56 質問者: misa_tk
解決済
1
0
-
CGI(Perl)を使用してGoogleスプレッドシートにデータを書きたいです
CGI(Perl)を使用して商品の管理をしようとした場合、CGIの置かれています サーバー上へとデータベース(データの一群)を置いて、そのデータについて 例えばデリミタ(区切り文字)を『カンマ』にして、データを色々と書き換え、 そしてその中身を確認する際にはMicrosoftExcelで表示するという方法が出来る 程度の知識を持っています。 そこで、データベースをサーバー上に置くのではなく、Googleドライブ上の スプレッドシートを使って管理をしたいのですが、スプレッドシート上での 一番下の行へと順次データを追加していきますCGI(Perl)の書き方があります サイトをご存じでしたら、そのサイトを教えて戴きたいと思います。 ※質問に対する回答(サイトさんのURLやタイトル)をお願いします。 ※○○で検索すればいいという意味合いのものは回答ではありませんので ご勘弁願います。
質問日時: 2015/07/28 13:00 質問者: risaghon
解決済
1
0
-
perlでuse utf8でsjisのファイルを読んで出力すると誤表示する。
下記のソースで誤表示しない方法を知りたい。 1 use utf8 2 use Encode; 3 use open IO => ":encoding(sjis)"; 4 binmode STDOUT,':utf8'; 5 open (IN,'03.txt')||die "file ope err\n"; 6 @in=<IN>; 7 close IN; 8 @in=(); 9 print @in; 下記のエラーが出る。 shiftjis "\x87" does not map to Unicode at C:\Users\usui\EDMax\DataGen6\03.pl line 6, <IN> line 2175.
質問日時: 2015/07/27 20:39 質問者: usui-2015
ベストアンサー
1
0
-
perlのgrepで日本語の処理でエラーになる
下記のソースでエラーになる。 1. # grep.pl 2. @list1=(); 3. push @list1,"まぐまぐニュース"; 4. push @list1,"大阪"; 5. push @list1,"福岡"; 6. push @list1,"名古屋"; 7. push @list1,"京都"; 8. @list2=(); 9. push @list2,"東京"; 10. push @list2,"神田"; 11. push @list2,"浜松町"; 12. push @list2,"名古屋"; 13. push @list2,"福岡"; 14. push @list2,"QTNetお客様センター"; 15. for $data(@list1){ 16. print grep(/^$data/,@list2),"\n"; 17. } Unmatched [ in regex; marked by <-- HERE in m/^まぐまぐニュー <-- HERE ス/ at C:\Users\usui\EDMax\DataGen5\grep.pl line 16. windowsの環境でshift jisで書いています。
質問日時: 2015/07/26 22:04 質問者: usui-2015
ベストアンサー
7
1
-
HTML
<div class="panel panel-default"> 上記のpanelとは何をしているのでしょうか? そういうタグとしか出てこなくて、どの様な動きをするのか分かりません。 ご教授お願い致します。
質問日時: 2015/07/07 15:35 質問者: シュテル
解決済
2
0
-
perl Windows 7でファイルの衝突無く書き換えるには?
実験的にWindows 7 + active perlである時刻になったら、text.txtに追記するプログラムtest.plを作りました。このプログラムを複数実行(50程度)した場合当然ですが良く衝突します。 ロックを調べるのに10秒くらいは掛かっても構わないのですが衝突無くファイルを操作するにはどのようにしたら良いでしょうか?ふと思ったのですが、証券会社など絶対に衝突が無さそうです。ロック状態を調べるだけでは大げさな気もするのですが、MySQLなどデータベースを利用すると簡単に確実な方法を用意できますかね? test2.plなど思いつき書いてみたのですが、とりあえずは衝突してないようですが、大量に動かすと衝突する気がしてなりません。外部のソフトを使うなどでも良いのですが、簡単な方法で確実なロックというのはありますか? -----test.pl---- for(;;){ my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $mon += 1; if($sec % 6 == 0){ open(F,">>test.txt"); print F "$$\n"; close F; } select(undef, undef, undef, 0.1); } -------------- -----test2.pl---- for(;;){ for(;;){ if(-f "lock"){ sleep int(rand(5)); }else{ last; } } open(F,">lock"); print F $$; close (F); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $mon += 1; if($sec % 2 == 0){ open(F,">>test.txt"); print F "$$\n"; close F; } unlink("lock"); select(undef, undef, undef, 0.1); } --------------
質問日時: 2015/07/03 17:54 質問者: misa_tk
ベストアンサー
1
0
-
タスクスケジューラでPerlが動作しなくなった
Windows2003上のタスクスケジューラで動かしていたPerlのスクリプトを2008に移行したところ、動かなくなり、原因が判らず困っています。 内容としては、mail_get.plというスクリプトで下記の処理をしています。 1.popサーバーからメールを受信 2.所定のフォルダに添付ファイルを出力 3.複号用バッチファイル(encode.bat)の起動 4.エンコードした結果をメールで送信し、サーバーへファイル転送 3.のバッチファイルを起動するところで、出力される添付ファイルが見つからない、という状態でエラーになります。 不思議なことに上記のスクリプトをタスクスケジューラでなく、手動で動かした場合は正常に動作します。デバッグ表示したところ、パスが通っていないという状況ではないようです。 3.を行う前に時間稼ぎのループを入れれば解決するのかもしれません。 perlはスクリプト言語なので、逐次動作するものと思っているのですが、OSの違いやCPU速度の関係で、先に子プロセスが呼び出されてしまう可能性があるのでしょうか? 同じような経験をされた方はおられないでしょうか?
質問日時: 2015/07/02 19:45 質問者: hatsuzo
ベストアンサー
2
1
-
Perlスクリプトで文字化けしてしまう
Perlの初心者向けの本を見ながら勉強を進めているのですが、途中で文字化けしてしまい、解決方法もその本には書かれていないので困っています。環境はWindowsです。 以下のスクリプトを実行すると、 $string = 'あいうえお'; $string =~ tr/あ/い/; print "$string\n"; 以下の様な結果になります。これは問題ありません。 いいうえお しかし、「い」に変換する所を、「イ」に変換する様に書き換えた、以下のスクリプトを実行すると、 $string = 'あいうえお'; $string =~ tr/あ/イ/; print "$string\n"; 以下の様に、文字化けした結果になります。 イΔΖΘΚ WEBで調べ、いくつか処理を追加したりしてみたのですが、エラーが出るだけで解決しませんでした。 文字化けする理由と対処法をご存知の方がおられましたら、お教え頂けないでしょうか。
質問日時: 2015/06/28 18:13 質問者: kon77
ベストアンサー
2
0
-
HTTPリクエスト
たとえばtelnetなどでwww.yahoo.co.jp/index.htmlを開くとき、以下のように書きますが、 GET /index.html HTTP/1.1 host www.yahoo.co.jp では、www.yahoo.co.jp/index.html?data=hogehoge のように?以降を指定するときは、どのようにすればよいでしょうか? 今、Perlでuse Socketで他のページを読むスクリプトを書いてます。
質問日時: 2015/06/22 13:31 質問者: workpad30j
ベストアンサー
1
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
最新のコラム/記事
-
マッチングアプリで出会ったカップルは成婚率が高い!?結婚カウンセラーに聞いてみた
パートナーとの出会いの場として、もはや主流となったネット婚活やマッチングアプリ。中でも手軽に登録できるマッチングアプリは、10代から50代と幅広い年代が利用している。一方で、“相手の目的が投資関係の詐欺や...
-
メダロット:第250話「Vol.250※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
メダロット:第249話「Vol.249※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl言語について。
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授くださ...
-
INDIRECT 横に再度抽出したい
-
perl LWPでURLにアクセスした時にデ...
-
perlのgrepでmyを付けた場合と付け...
-
ファイルをディレクトリ分配のプロ...
-
アルファベットに付いて質問します...
-
#!/usr/bin/perlで書きだしたCGIを...
-
perlのflock関数でロックをかけたま...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□の中...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにどのよ...
-
perlで2次元配列をサブルーチンに...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方についての質問
-
perlの構文でカンマの意味が分からない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプログラ...
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
Perlで特定文字列から特定文字列ま...
-
perlをバージョンアップしたら、今...
-
Wallpaper Engineでおすすめの壁紙...
-
arduino の割り込み処理について
-
アルファベットに付いて質問します...
-
Strawberry Perl for Windows で Ou...
-
Perlで時間の計算
-
このファイルを開く方法で困ってい...
-
TeraPadエディターの操作方法について
-
cgiでサーバーにファイルを追加する
-
フローチャート 九九
-
LinuxにおいてのPerlのプログラムの...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授くださ...
-
こんにちは ブラケッツでプログラミ...
-
bashスクリプト
-
perlプログラミング 空白行削除
おすすめ情報