回答数
気になる
-
Perlguts:構造体の受け渡し
Hoge*なtfield型の *head構造体を生成してPerl側で参照し、 再度同じ関数に通して*headと同じ構造体*pを作りたい。 下記のソースを 実行すると二度目にDataListを通すと tfield *pはバラバラな構造体が生成される。 *headと同じ構造体が 生成されるにはどうしたら良いか。 ご教授お願いします。m(_ _)m ちなみに使用環境はWindow7です。 ----------------------------------------- MyTpe.xs側 struct tfield { struct tfield *left[30]; int num; char str[30]; struct tfield *right[30]; }; struct tfield *talloc(void) { return ((struct tfield *)malloc(sizeof(struct tfield ))); } MODULE = MyTypePACKAGE = MyType SV* DataList(data,num) SV* data int num PREINIT: struct tfield *p,*head[30]; INIT: int i,j; CODE: if(num!=0){ p=INT2PTR(struct tfield *,SvSTASH(SvRV(data))); f(SvTYPE(SvRV(data))==SVt_PVMG) printf("MG Success\n"); or(i=0;i<6;i++){ printf("\np->left[%d]=%p\n",i,p->left[i]); } } for(i=0;i<6;i++){ /*無意味な構造体*/ head[i]->left[0]=head[i]->right[0]=head[i]=talloc(); printf("head[0]->left[%d]=%p\n",i,&head[0]->left[i]); } ref=newRV_noinc(newHV()); sv_setref_pv(ref,"main::Tie",(void*)head); RETVAL=ref; OUTPUT: RETVAL ----------------------------------------- Perl側 #!usr/bin/perl use MyType; use Devel::Peek qw/Dump/; $value1=MyType::DataList(NULL,0); print Dump $value1; $DB::single=1; $value1=MyType::DataList($value1,1); ----------------------------------------- Devel::Peekの実行結果 SV = IV(0x1209078) at 0x120907c REFCNT = 1 FLAGS = (ROK) RV = 0x5bbbcc SV = PVMG(0x18cf78c) at 0x5bbbcc REFCNT = 1 FLAGS = (OBJECT,IOK,pIOK) IV = 1243644 NV = 0 PV = 0 STASH = 0x12089bc "main::Tie"
質問日時: 2012/12/13 05:55 質問者: masutoro32
ベストアンサー
3
0
-
小文字から大文字への変換後のパターンマッチ
以下のように英数字を小文字から大文字に変換し、 その後、パターンマッチさせるように記述し、 $nameをテニスコートてみてもマッチしませんでした。 たぶん\Qテニスコート\Eの\Q~\Eが問題なのだとは思うのですが \Q~\Eがないとエラーとなってしまうため、外せません。 このような場合、どうしたらいいのでしょうか? $name = uc $name; if($name =~ /\Qテニスコート\E|TENNIS/){ push(@error, 'テニス関係は入力できません'); }
質問日時: 2012/12/12 23:52 質問者: masa-25
ベストアンサー
3
0
-
Perlのグラフ化について
初質問させていただきます。 まず環境は、Perlversion5.16.1でActivePerlを用いております。 GD::Graphモジュールを使って棒グラフ、点グラフを作りたいと思っています。 しかし、(数字は変えてあります) .... (1)my @labels = qw(0 5 10 15 20 25 30); #X軸の目盛り (2)my @dataest = qw(3 6 9 12 15 18 21 24); #グラフにするデータ (3)my @data = (\@labels,\@dataset); ..... と、入力して出力しても、ラベルはちゃんと(1)の目盛りが置かれるのですが、肝心なグラフ化したいデータの(2)が反映せず、何故か(1)の値が再度取られ、グラフが一定になってしまいます。 http://www.gadgety.net/shin/tips/unix/perl-gd.html 上記のURLの参考プログラムのままだったらちゃんと実行されるのですが、(2)のdatasetの値をいれかえると何故かこのような現象に… どなたかご教授願えませんでしょうか?他に必要な情報があれば補足・返信いたします。
質問日時: 2012/12/10 16:22 質問者: blitzcrank
ベストアンサー
2
0
-
perlとXML::Simpleの使い方
perlを使って、下記のXMLファイルを出力したいです。 <?xml version='1.0' encoding='UTF-8' ?> <member> <No>00001</No> <Product> <ProductSeqNo>0</ProductSeqNo> <ProductName>スマートフォン</ProductName> </Product> <Product> <ProductSeqNo>3</ProductSeqNo> <ProductName>モニタ</ProductName> </Product> <RegistDate>2012/11/29</RegistDate> </member> <Product>タグの部分は、編集情報を設定するため、下記のようにプログラミングしています。 my $p = { member => [ { No => "$id", Product => {}, RegistDate => "$RegistDate" } ] }; my $AddData = { Product => { ProductSeqNo => ["$seqno"], ProductName => ["ProductName"] } }; push(@{$p->{member}}, $AddData); # データを追加 my $x = new XML::Simple; my $xml = $x->XMLout($p, NoAttr=>1, KeepRoot=>1, OutputFile => "$dir/$Details", XMLDecl => "<?xml version='1.0' encoding='UTF-8' ?>"); 上記を動かすと、以下のように出力されます。 <?xml version='1.0' encoding='UTF-8' ?> <member> <No>00001</No> <Product></Product> </member> <member> <Product> <ProductName>ProductName2</ProductName> <ProductSeqNo>1</ProductSeqNo> </Product> </member> 最初のイメージで出力する方法をご存知の方は教えて下さい。
質問日時: 2012/12/08 18:52 質問者: ponky2468
解決済
1
0
-
割合で表示について
はじめまして。 以下の動物をを指定した割合でランダムに表示しようと思いますが、どのような方法がありますでしょうか。 ゴリラ(割合4) パンダ(割合2) ラッコ(割合3) スズメ(割合1) ウサギ(割合2) rand関数を使って出来そうだったのでやってみたのですが、うまく割合で分ける事が出来ませんでした。 どなたか、何かアドバイスいただけないでしょうか。 よろしくお願いいたします。
質問日時: 2012/12/06 22:52 質問者: hana43
ベストアンサー
3
0
-
PHPとPerlのリダイレクト
こんにちは。 PHPとPerlのリダイレクトの処理ついて質問です。 PHPのリダイレクトには、exit;を付けないとその後の処理も行ってしまいます。 header("Location:index.php"); exit; Perlのリダイレクトにも、このexit;は必要でしょうか? print "Location:index.cgi\n\n"; exit; ← ? 以上です。 どうぞよろしくお願いします。
質問日時: 2012/12/06 15:29 質問者: investigate
ベストアンサー
2
0
-
Perlでの複数行にわたるコメント
Perlにおいて複数行コメントを記述するには =for comment コメントを記述 =cut と書けるとのことですが =for commentと=cutの間に 以下のように1行のコメントが記述されていても問題ありませんか? =for comment #名前をチェック if ($FORM{'name'} eq "") { $error .= "「名前」が入力されていません。$br"; } #タイトルをチェック if ($FORM{'title'} eq "") { $error .= "「タイトル」が入力されていません。$br"; } #コメントをチェック if ($FORM{'comment'} eq "") { $error .= "「コメント」が入力されていません。$br"; } =cut
質問日時: 2012/12/06 14:12 質問者: masa-25
ベストアンサー
2
0
-
png2jpeg・resize.pl
png2jpegと、resize.plを使ってサムネイルを作成しようと考えています。 ファイルをアップロードするupload.cgiは作成し、画像をサーバーに転送することはできるのですが、 上の2つのファイルをどのように関連付ければ良いのかがわかりません。 check.cgiを見ると、 PerlMagick NG NetPBM + libjpeg-progs NG cjpeg -> /usr/bin/cjpeg djpeg -> /usr/bin/djpeg pngtopnm -> Not Found giftopnm -> Not Found pnmscale -> Not Found repng2jpeg(i386-linux) dynamic :OK standard:OK static :OK libjpeg -> /usr/lib/libjpeg.so.62 libpng -> /usr/lib/libpng.so.2 libz -> /usr/lib/libz.so.1 libm -> /lib/libm.so.6 libc -> /lib/libc.so.6 ldlinux -> /lib/ld-linux.so.2 ---------------------------------------- ./repng2jpeg Found SIZE : 59556 MD5 : 6f03c0ec0 ./repng2jpeg Permisson:OK ./repng2jpeg Exec:OK ->(repng2jpeg TestMode:OK version 1.0.4) $ldd ./repng2jpeg libpng.so.2 => /usr/lib/libpng.so.2 (0x00a36000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x002c2000) libc.so.6 => /lib/tls/libc.so.6 (0x005fe000) libm.so.6 => /lib/tls/libm.so.6 (0x00736000) /lib/ld-linux.so.2 (0x005e4000) ---------------------------------------- と表示され、使用可能な状態ではあると思います。 以上よろしくお願いします。
質問日時: 2012/12/02 14:41 質問者: spider32
解決済
1
0
-
PerlによるXMLからCSVへの変換について
Perl初心者です。 下記のようなXMLファイル(test.xml)を、CSVに変換したいと考えています。 <MODESMESSAGE> <DATETIME>20121129045500</DATETIME> <MODES>8515C4</MODES> <CALLSIGN>JAL1406</CALLSIGN> <ALTITUDE>03075</ALTITUDE> <GROUNDSPEED>177</GROUNDSPEED> <TRACK>330</TRACK> <VRATE>-832</VRATE> <AIRSPEED>000</AIRSPEED> <LATITUDE>35.4003</LATITUDE> <LONGITUDE>139.8822</LONGITUDE> <SQUAWK>3341</SQUAWK> </MODESMESSAGE> <MODESMESSAGE> <DATETIME>20121129045500</DATETIME> <MODES>86CF11</MODES> <ALTITUDE>20100</ALTITUDE> <VRATE>0</VRATE> <AIRSPEED>000</AIRSPEED> <LATITUDE>0</LATITUDE> <LONGITUDE>0</LONGITUDE> </MODESMESSAGE> データによって、要素が欠けている場合もありますが、最大で11個の要素が並んでいます。 これをCSVに変換するため、書籍を参考にしながら以下のスクリプトxml2csv.plを作りました。 使用している環境はLinuxです。 use encoding "utf8", STDOUT=>"Shift_JIS"; use XML::Parser; $parser = new XML::Parser( Handlers => {Start=>\&element_start, Char => \&cdata, End => \&element_end}); $element_name = ''; %records = {}; eval ( "\$parser->parsefile( \@ARGV[0] );"); if ($@) { chomp($@); $@ =~ s/^\n//; $@ =~ s/ at (?:[A-Z]:)?\/.*//; print @ARGV[0] . " :Error $@ \n"; } sub element_start { my ($expat, $name, %attributes) = @_; $element_name = $name; $records = {} if ( $name eq 'MODESMESSAGE' ); } sub element_end { my ($expat, $name) = @_; if ( $name eq 'MODESMESSAGE' ) { print $records{'DATETIME'} . "," . $records{'MODES'} . "," . $records{'CALLSIGN'} . "," . $records{'ALTITUDE'} . "," . $records{'GROUNDSPEED'} . "," . $records{'TRACK'} . "," . $records{'VRATE'} . "," . $records{'AIRSPEED'} . "," . $records{'LATITUDE'} . "," . $records{'LONGITUDE'} . "," . $records{'SQUAWK'} . "\n"; } $element_name = ''; } sub cdata { my ($expat, $context) = @_; $records{$element_name} = $context if ($element_name); } 実行すると、 > perl xml2csv.pl test.xml 20121129045500,8515C4,JAL1406,03075,177,330,-832,000,35.4003,139.8822,3341 test.xml :Error junk after document element at line 14, column 0, byte 345 > 上記の通り1つ目のデータについてはCSVに変換できているようなのですが、2つ目以降が変換されずエラーとなってしまいます。 お気づきの点がありましたら教えていただけないでしょうか。 よろしくお願いします。
質問日時: 2012/12/01 18:19 質問者: pororan
ベストアンサー
2
0
-
Clipmail3.0 確認画面の非表示に関して
KentWebさんのClipmail ver3.0を使用してwebformを作りたいと思っています。 http://www.kent-web.com/mail/clipmail.html ≪質問≫ 確認画面を出さずにフォーム 内容を送信することは可能でしょうか?デフォルトでは確認画面が必ず出ます。 ≪理由≫ form各項目の送信value値を数字にしてcsvファイルで出力したいのですが、質問項目数が増えると確認画面で数字で埋め尽くされてしまうのでこれを防ぎたいのです(数字を見せたくない)。 例: 質問1(name=Q1) = 満足(value=3) ⇒ Q1 = 3 http://q.hatena.ne.jp/1328250297 上記のリンクに似た質問があったので試してみましたが上記clipmailよりもversionが新しいためか、 上記リンクのcgi部分と送信ボタンのnameを変えて、送信ボタンを押すと「不正なアクセス」とエラーが表示されます。 フォーム記入後の送信ボタン(1)(<form action="clipmail.cgi method="post"">)と確認ページで表示される送信ボタン(2)(<form action="!mail_cgi!" method="post">)に違いがあるので送信ボタン(1)で(2)のアクションを呼び込めば良いのだと思いますが、どこを触ればいいのかが思考錯誤してもまだわかりません。 確認画面は入力ミス等を防ぐ重要なステップと認識していますが、form記入値を確認画面なしでダイレクトに送れないものか(もしくは確認画面で表示されるvalue値とcsv出力されるvalue値を変えることはできないのかどうか)と思い質問させていただいております。 私のcgi等に対する知識はど素人レベルです(webpageの知識としてはhtml/cssだけが少しわかる程度です。)どなたかわかる方がいらしたら、どこを変更すれば良いのかを教えて頂けると助かります。よろしくお願い致します。 P.S. Kentwebさんのサポートページで質問をしようとしたのですが問題のあるページのアドレスhttp://を入力しないと質問できませんでした。動作や不具合に関する質問ではなかったのでこちらで質問させてもらっています。
質問日時: 2012/11/29 13:48 質問者: peri58
ベストアンサー
2
0
-
perlにてスペースの削除に苦労してます。
perlにてテキスト書き出しをしをしたとき 書き出したテキストファイルの先頭にどうしてもスペースが入ってしまうので そのテキストを別のcgiにて読み込み表示するときに 先頭のスペースを削除しようとしていますがうまく行きません 多分スペースをパターンマッチさせるのだろうと思うのですが いまいち私の理解が足らないようでぜひどなたか教えてください。 (1つ目のcgi)------------------------------- フォームから入力$title $subtitle $contentsとしそれを下記のような形で読み込み(途中省略) use CGI; $query = new CGI; $title = $query->param('title'); $subtitle = $query->param('subtitle'); $content = $query->param('content'); #タブ区切りにし@memoryに代入 @memory="$meday\t$title\t$subtitle\t$content\t$number\t$namberc\n"; open(FILE,">>../data/memory.txt")||&error("$datafile 外部ファイルが開きませんでしたエラー"); print FILE"@memory"; close(FILE); ----------------------------- それを違うcgiのソースで読み込み------------------------------------ (2つ目のcgi) open(IN, "< sys/data/memory.txt"); eval{flock(IN,1)}; @inbun=<IN>; for($i=0;$i<@inbun;$i++){ @retudata=split(/\t/,$inbun[$i]); $inbun[$i] =~ s/^\s+//g; $retu =~ s/^\s+//g; @retudata[$i]='$retu[0]\t$retu[1]\t$retu[2]\t$retu[3]\t$retu[4]\t$retu[5]\n'; ; }@data=@inbun; open(FILE,">sys/data/memory.txt")||&error("../data/memory.txt 外部ファイルが開きませんでしたエラー"); print FILE"@data"; close(FILE); close (IN); --------------------------------------------------- 追加するとなぜか先頭にスペースが入りどうしてもとれないんですが どうしたら良いでしょうか? ちなみに結果は下記のとおりです。 20121122test1test1test1あいうえおABCDEFG1112223157 20121122test2-rtest2-rtest2-rあいうえおABCDEFG21122231647 20121122test3test3test3あいうえおABCDEFG3112223254 乱筆乱文ご容赦ください。 宜しくお願いします。
質問日時: 2012/11/24 03:34 質問者: doraconis
ベストアンサー
2
0
-
pingサーバーに更新pingを送信する方法
インターネットでpingサーバーに更新pingを送信する方法を調べておりましたところ、 以下のような方法が見つかりましたので、試してみました。 すると、たまに動作するのですが、たいていの場合は以下のエラーになります。 The script did not produce proper HTTP headers. 使用しておりますサーバーはコアサーバーです。 #!/usr/bin/perl use XMLRPC::Lite; my $name = "サイト名"; my $url = "http://www.hogehoge.net/"; #PING送信先######################################## my @ps = ( 'http://pinghoge.jp/ping/', 'http://pinghogehoge.jp/ping/', ); ################################################### foreach (@ps) { my $result = eval { XMLRPC::Lite ->proxy($_) ->call('weblogUpdates.ping', $name, $url) ->result; } } エラーの解決方法など、おわかりになる方がおられましたら、ご教示を頂けますと幸いです。 どうぞ宜しくお願い申し上げます。
質問日時: 2012/11/23 11:09 質問者: das_horn
ベストアンサー
1
0
-
マルチスレッドとマルチプロセスでの速度の違い
perlでバッチ処理を書いています。ループ処理に時間がかかるのでParallel::ForkManagerというモジュールを使いマルチスレッド化しています。 ふと思ったのですが、マルチスレッドにせず、単純にこのperlのスクリプトを同じタイミングで複数起動するだけでもマルチスレッド並に速度は向上するのでしょうか? ご教示くださいませ。
質問日時: 2012/11/23 10:37 質問者: eltech
解決済
4
0
-
正規表現で一部分を抜き出す方法(区切り文字)
タブ区切りのテキストファイルの中から、タブで区切られた3列目~5列目だけを抜き出す、というような作業を実施したいのですが、どのように書けばよいでしょうか? いろいろグーグルで検索してみましたが、解にたどり着けず、ご存知の方がいらっしゃればご教授いただければ幸いです。 よろしくお願いします。
質問日時: 2012/11/22 14:10 質問者: t29x0479
ベストアンサー
1
0
-
Inline CでOpenMPは使えますか?
WindowsでActivePerlを使っています。一部の処理を高速化するためにInline Cを導入したのですが、出来れば、このCの部分でOpenMPが使えればベストです。単純にプロンプトから > perl ***.pl /openmp としても動かないようですし、Inline CにおいてOpenMPによる並列化は実装可能なのでしょうか。
質問日時: 2012/11/21 22:44 質問者: WEB_scientist
ベストアンサー
1
0
-
PerlでInline Cを使った配列の引渡し
Perlで繰り返し計算をする部分を高速化しようとInline Cを使ってC言語のサブルーチンを作りました。 C言語単体なら、巨大な配列はポインタを使って引き渡すのですが。 Inline Cを使って、PerlからCへの巨大配列の引渡し方法が分かりません(><; 以下のように、リファレンスで渡してポインタで受け取る事もできないし。。。助けてください use Inline C; my@data; for(my $t=0;$t<=10000000;$t++){ $data[$t]=$t; } # C言語による処理 my $x = my_function_1(\@data); print"0から10の合計は$x\n"; __END__ __C__ // サブルーチン_1 long my_function_1(long *data){ long t; long t1=0; for(t=0;t<=10000000;t++){ t1=t1+data[t]; } return t1; }
質問日時: 2012/11/21 18:15 質問者: WEB_scientist
ベストアンサー
1
0
-
多元配列の0初期化
たびたびお世話になっております。 PERL 5.14.2 (Windows 7)を コマンドプロンプト上から動かしています。 use strict; use warnings; @multi_dimension_arrays; # $multi_dimension_array[$x][$y][$z] というような配列の中身を最初に0初期化したいのですが $x, $y, $zがどれだけ増えるかわかりません。 (0初期化していないので、大小比較などでエラーとなることがあります) 0初期化の方法をお教えください。
質問日時: 2012/11/18 22:47 質問者: ng999
ベストアンサー
7
0
-
use strictが効かない (PERL)
たびたびお世話になっております。 PERL version 5.14.2 をWindows 7 のコマンドプロンプトから起動して使っています。 use strict; と一行目に書くと 宣言されていない変数があれば拒絶されるとのことで #!/usr/bin/perl use strict; use warnings; $a = 10; print "$a\n"; というスクリプトを書きました。が、すんなり動いてしまいます。 use strict; は どうすればうまく効くのでしょうか。 ご指導お願いします。
質問日時: 2012/11/17 14:44 質問者: ng999
ベストアンサー
1
0
-
perlのcgiが文字化けします。
perlを使ったcgiを作ろうと思い、こんなプログラムを書いてみたのですが、htmlのタグに囲まれた部分の日本語が文字化けしてしましいます。ファイルの文字列は上手く表示できるのですが… どうすればいいでしょうか。 文字コード判別をしてみたところ、このプログラム自体はShift-JISで書かれているようです。 開いているファイルはutf-8のようです。 #!/usr/bin/perl #ヘッダの表示 print "Content-Type: text/html; charset=utf-8\n\n"; print "<html>\n"; print "<head><title>掲示板</title></head>\n";#これが文字化け print "<body>\n"; print "<input type=\"text\" name=\"mail\" size=\"20\" value=\"\"><br>\n"; print "メッセージ<br>\n";#これも文字化け my $File = 'party0339.html'; if (-e $File) { #####@ファイルを開く…上でファイルが存在してることを確認して開けない場合はエラーメッセージ open(FF,"<:utf8",$File) or die "ファイル:$File を開けない $! \n"; my @FILE = <FF>; close (FF); ####@読み込んだデータを$Dataに格納する foreach (@FILE) { $Data = $_; print "$Data<br>\n"; } } #フッタの表示 print "</body>\n"; print "</html>\n"; exit (); 対策や原因などを教えてくださるとありがたいです。よろしくお願いします。
質問日時: 2012/11/16 22:11 質問者: izha
解決済
3
0
-
メタ文字の取り扱い
カレントディレクトリにディレクトリaaa, bbb, cccが在り、さらにそれぞれのディレクトリに11_2とか9_20などのような1から20までの数字を_で2個つなげたディレクトリが在ります。そのディレクトリの中のファイル名を出力する以下のスクリプトgetname.plを作成したのですが、 Unrecognized escape \d passed through at ./getname.pl line 9. Unrecognized escape \d passed through at ./getname.pl line 9. というエラーが出ます。全く原因がわからないでいます。もしよろしければ解決法をご教示いただけないでしょうか。どうぞよろしくお願いします。 #!/usr/bin/perl use strict; use warnings; my @directory=qw/aaa bbb ccc/; foreach my $dname (@directory) { opendir(DIR,"./$dname/\d+_\d+"); my @dir=readdir(DIR); close(DIR); print join("\n",@dir); } print "\n";
質問日時: 2012/11/16 12:09 質問者: Murata0715
ベストアンサー
2
0
-
perlでファイルの比較
"a.csv"と"b.csv"を比較して、一致しない場合は"a.csv"を"b.csv"に置き換えたいと思っています。 しかし、"a.csv"と"b.csv"の先頭9行は必ず一致しないデータが入っているので、 1行目~9行目まではチェックせずに、以降の行からチェックするようにしたいです。 このようにプログラムするにはどのようにしたらいいのでしょうか。 お手数をおかけしますが、ご教授いただけると幸いです。 また、見本のソース等をいただけると嬉しいです。
質問日時: 2012/11/10 14:47 質問者: pming
ベストアンサー
1
0
-
ppm
windows7, ActivePerlです。 ppm-shell↓ install Tk↓ とすると install failed: Can't find any package that provides Tk となります。 他のモジュールも同様です。 分かるかたいらっしゃいますか。
質問日時: 2012/11/07 15:01 質問者: TANUKIA
解決済
2
0
-
API
use Win32::API; my $MessageBox = Win32::API->new("user32", "MessageBoxA", "NPPN", "N"); $MessageBox->Call(0, "Hello, World!\n", "Message", 0); #------------------------------ my $test = Win32::API->CreateWindowEx("user32", "MessageBoxA", "NPPN", "N"); #------------------------------ 以上の記述はXP(32bit)だと動いたと思うのですが、 7(64bit)だと致命的エラーらしきものが出るようになりました。 分かるかたいますか?
質問日時: 2012/11/07 03:47 質問者: TANUKIA
解決済
1
0
-
Perlで足し算をするには
Perl 初心者です。 いい足し算ができず、困っています。my $Aの数字を足していくだけなのですが、 うまくいきません。 何が悪いのかわかる方教えてください。 よろしくお願いいたします。 Perlではsumをつかわないでしょうか? 下記は4と2と3なので、9になるはずなのですが。。。。 その1 my $A = 4,2,3; $B = (sum($A)); print "$B" その2 my $A = 4,2,3; $B = subsum($A); print "$B"
質問日時: 2012/11/02 01:21 質問者: PerlLearner1
解決済
11
0
-
perl:パターンマッチを使ったifの条件
perlでパターンマッチを使ったifの条件が必ずTRUEになってしまいます。 以下は条件です。二つのファイルがあって、片方のファイルのある列の文字列と別のファイルのある列の文字列が一致したら一致した行の1列目を出力するというプログラムです。 perl v5.12.3 『oct_gene.csv』は以下のような2列のファイルで、2列目であるalphabetの群は空白で区切られています。文字コードはASCIIです。 1zinc finger protein of the cerebellum 3 0stathmin-like 2 . . . . 『RNA.csv』は以下のような3列のファイルで、3列目のalphabet群は同じく空白で区切られています。文字コードはUTF-8です。 1NM_324891 sin3 associated polypeptide 2 NM_53344 Nanog homeobox . . . open (WRITE, ">RNAseq_Oct.csv"); open(FILE, "RNA.csv"); while($line = <FILE>){ chomp $line; @fact = split /\t/, $line; open(OCT, "oct_gene.csv"); while($octline = <OCT>){ chomp $octline; @oct = split /\t/, $octline; if($fact[2] =~ /$oct[1]/){ print WRITE $fact[2] . "\t" . $oct[1] ."\n"; last; } } close (OCT); } close (FILE); close (WRITE); この中のif文がうまく働かず、whileで繰り返すまでもなく必ず if($fact[2] =~ /$oct[1]/) が成り立ってしまいます。 どなたか詳しい方、どうかご教示願います。 それではよろしくお願いします。
質問日時: 2012/10/27 01:27 質問者: ABC0310
ベストアンサー
3
0
-
perlにて不足行の補完プログラム
毎分、特定の数値を取得し、外部のファイルに保存しているのですが、 前の時間と比較してデータの抜けがあった場合、 "データが抜けている時間"+"前回の数値"を追加して上書きをしたいのですが、どのようにしたらいいのでしょうか。 ご教授いただけると幸いです。 例) 補完前(読み込むファイル ・・・ acf.csv) ----- 00:01:00,227 00:02:00,234 00:04:00,254 ---- 補完後(書き込むファイル ・・・ acf.csv) ----- 00:01:00,227 00:02:00,234 00:03:00,234 00:04:00,254 ---- また、できればソースも書いていただけるとありがたいのですが。。。 よろしくお願いいたします。
質問日時: 2012/10/25 14:39 質問者: pming
解決済
1
0
-
隙間があるレコードの"次へ"の扱い
データベース的なCGIを作ろうとしています。 1つ目の情報を見た後に次のを見る時の「次へ」ボタン(1つ前のデータに移動)なのですが、各データを削除せず続き番号なら、$noから1を引いた数のデータに移動すればいいだけですよね。 $nxt=$no--; <A href="$script?no=$nxt">次へ</A> しかし、これだと過去データを削除してしまった際に削除したデータを参照することになってしまう場合があります。 これを回避するにはどのようにしたらよいでしょうか?
質問日時: 2012/10/24 11:19 質問者: master-3rd
解決済
2
0
-
perlプログラム内で中間ファイルを利用するには
perlプログラムについて 処理1 の アウトプットデータを用いて、処理2を行うというのを1つのperlのプログラム内で実装したいと考えています。 処理1のアウトプットファイルの書き出しに時間がかかり 処理2が先に動き、ファイル読み込みできずに終わってしまいます。 処理1のアウトプットファイル書き出しが終了を待ってから、処理2を実施したいのですが、 どのように記載すればよいのでしょうか? 例) perl program.pl AAA > BBB program.pl 内 open(OUT1,"> program1_work"); open(ARG,$ARGV[0]); while(<ARG>){ 処理1 print OUT1 "XXXXXX"; } close(ARG); open(ARG1,OUT1); while(<ARG1>){ 処理2 print "XXXXXX"; } close(ARG1);
質問日時: 2012/10/23 14:03 質問者: 1204533
解決済
4
0
-
ファイルをopenできない時別のページを表示したい
ファイルをopenできない時、エラー表示しているのを if (!open(IN,"$userfile")) { &error("投稿データファイルを開けません "); 別のページを(abc.cgi)表示したいのですがよろしくお願いします
質問日時: 2012/10/23 10:49 質問者: hana3090
解決済
1
0
-
先頭の単語が一致した時のデータ追加
【データ】 (A) A A2 "one" 7 A 3C three 9 B DD "two" 11 C CDE four 25 C 4D five 33 D YY six 27 ・ ・ (B) A okinawa kagoshima miyazaki B kumamoto oita D fukuoka E saga nagasaki ・ (A)と(B)のデータを比較し、先頭の単語が一致した時のみ、先頭の単語を除いた(B)の行を (A)の末尾に加えるという処理をしたいです。 【目標】 A A2 "one" 7 okinawa kagoshima miyazaki A 3C three 9 okinawa kagoshima miyazaki B DD "two" 11 kumamoto oita C CDE four 25 C 4D five 33 D YY six 27 fukuoka ・ ・ 以前、回答して頂いた方法を踏まえ、以下の処理を行いましたが上記のような結果がでません。 宜しくお願いします。 #!/usr/bin/perl open(FILE1, "<aaa.txt") || die "File1 Open Error! \n"; open(FILE2, "<bbb.txt") || die "File2 Open Error! \n"; open(OUT, ">zzz.txt") || die "OUT Open Error! \n"; my @data1 = <FILE1>; my @data2 = <FILE2>; chomp @data1; chomp @data2; foreach my $line1 (@data1) { my @array1 = split(/\t/, $line1); push @{$hash1{$array1[0]}}, @array1[1, -1]; for my $key1 (sort keys %hash1){ foreach my $line2 (@data2) { my @array2 = split(/\t/, $line2); push @{$hash2{$array2[0]}}, @array2[1, -1]; for my $key2 (sort keys %hash2){ if($key1 eq $key2){ print OUT join("\t", ($key2, @{$hash2{$key2}}, @{$hash1{$key1}})), "\n"; } } } } }
質問日時: 2012/10/22 19:23 質問者: nanashim
ベストアンサー
4
0
-
perlのハッシュについて
perlのハッシュでキーから値を得ることは出来ますが、その逆に値からキーを得るような関数ってありますか?探してもみつかりませんでした。識者の方々教えてください。
質問日時: 2012/10/22 12:37 質問者: yamada11
ベストアンサー
3
0
-
Perl utf8上でshiftjisをデコード
以下の環境にてURLエンコード(shiftjis)された文字を、UTF8として ブラウザに表示させたいのですが、上手く表示されません。 環境: サーバ:linux apache レンタルサーバ ※Encode.pm、Jcode.pm無し。追加モジュールインストール不可。 Perl version: 5.006001 ソースエンコード:utf-8 実行ソース: ------------------------------------ use utf8; require 'jacode.pl'; # $mojiに予めURLエンコードされた文字が格納されています。 # 例として「マウス」デコード前(%83%7D%83E%83X)とします。 #URLデコード $moji =~ s/%(..)/pack("c",hex($1))/ge; #デコードされたsjis文字をUTF8へコンバート jcode::convert(\$moji, "utf8","sjis"); print ($moji); ----------------------------------- 例のように「マウス」と言う文字が$mojiに格納されている場合、 以下のような文字化けとなってしまいます。 ï¾ãç¿ï½¾ï¾ã¹ 正常にマウスと表示させるにはどうすればよろしいのでしょうか。 アドバイスを宜しくお願いします。
質問日時: 2012/10/21 20:13 質問者: cinquecent
ベストアンサー
8
0
-
Perlで空白行を削除
現在、Perlにて外部のcsvファイルを読み込み、"重複行"と"空白行"を削除するプログラムを作成しています。 重複行を削除する部分は ------ open(IN, "csvtime.csv"); @data = <IN>; close(IN); @data = grep {!$count{$_}++} @data; open(OUT, "> csvtime.csv"); print(OUT @data); close(OUT); ------ でできたのですが、空白行を削除する部分がわかりません。 申し訳ないのですが、お教えいただけないでしょうか。 また、空白行で最初の空白行は残すようにしたいです。 よろしくお願いいたします。 例) 読み出しデータ ----- (ヘッダ1行目) (ヘッダ2行目) (ヘッダ3行目) (必要な空白) (ヘッダ4行目) 00:00:00,302 00:01:00,274 00:02:00,272 00:03:00,248 00:04:00,237 00:05:00,239 00:05:00,239 00:06:00,256 00:07:00,260 00:08:00,250 00:09:00,253 00:10:00,241 ----- 加工後データ ----- (ヘッダ1行目) (ヘッダ2行目) (ヘッダ3行目) (必要な空白) (ヘッダ4行目) 00:00:00,302 00:01:00,274 00:02:00,272 00:03:00,248 00:04:00,237 00:05:00,239 00:06:00,256 00:07:00,260 00:08:00,250 00:09:00,253 00:10:00,241 -----
質問日時: 2012/10/20 20:31 質問者: pming
ベストアンサー
3
0
-
代入された数値の繰り返し
同じような質問をしていると思うのですが、外部ファイルの数値をそのまま出力するのではなく、外部ファイルの数値を、ある値で代入した数値を出力したいと考えています。 以下の.plファイルを作成しました。 for($line =0;$_ =<stdin>;$line++){ if($line < 400){ @line = split/,/,; $calibration1 +=$line[1]; $zero +=$line[2]; }elsif($line < 800){ @line = split/,/,; $calibration2 +=$line[1]; }else{ @line = split/,/,; $pressure =$line[2]; } } $zeroten = $zero / 400; $calibration = ( $calibration2 - $calibration1 ) / 400; for ($i=0;$i <= $pressure;$i++) { $pressure_data = ( $i - $zeroten ) / $calibration; print"$pressure_data \n"; } 13行目までで、外部ファイルの数値の合計を算出しました。(15、16行目で平均値としていますが・・・) 19行目以降で、9~12行目の値を15、16行目で算出した値を代入して、その代入した数値を出力したいと考えています。 上で示した.plファイルでは何も表示(エラー表示もないです)されませんでした。 外部ファイルは下のようになっています。 1,10,22 2,20,33 3,30,44 ・ ・ ・ 19行目以降が間違っていると思うのですがどうすればよいのでしょうか。(基本的なことかもしれないですけど・・・) お願いします。
質問日時: 2012/10/19 16:38 質問者: cstag
解決済
2
0
-
grep関数を用いた複数行からの抽出
同じ行で重複した単語を削除したいです。 テキストファイル sapporo aomori akita iwate akita yamagata sendai miyagi hukushima miyagi akita mito ・ ・ 上記のようなファイルの同じ行で重複した単語を削除し下の形にしたいです。 sapporo aomori akita iwate yamagata sendai miyagi hukushima akita mito ・ ・ open(FILE1, "<xxx.txt") || die "File1 Open Error! \n"; open(OUT, ">zzz.txt") || die "OUT Open Error! \n"; $string1 = <FILE1>; my @array = split(/\t/,"$string1"); my %count; @array = grep {!$count{$_}++}@array; foreach my $element (@array) { print OUT "$element\t"; } close(FILE1); close(OUT); このプログラムを実行すれば初めの一行は重複した単語を削除できるのですがそこで終了してしまいます。2行目、3行目・・といったように複数行に対して重複した単語を削除するためにはどのようにすればいいのですか。宜しくお願いします。
質問日時: 2012/10/18 23:08 質問者: nanashim
ベストアンサー
2
0
-
繰り返し処理の使い方
繰り返し処理の使い方について質問です。以下の.plファイルを作成しました。 for($line =0;$_ =<stdin>;$line++){ if($line < 400){ @line = split/,/,; $data1 +=$line[1]; } } for($line =0;$_ =<stdin>;$line++){ if($line < 800){ @line = split/,/,; $data2 +=$line[1]; } } $data_1 = $data1; $data_2= $data2; print"$data_1 \n"; print"$data_2 \n"; この.plファイルで合計計算の実行を試みたのですが、data_2の値が0でした。(data_1は合計計算が出来ています。) 繰り返し処理の2つ目はなぜ0なのでしょうか、またdata_2の合計計算を実行するにはどうすれば良いのでしょうか。 お願いします。
質問日時: 2012/10/18 22:06 質問者: cstag
ベストアンサー
1
0
-
perlでの出力先設定
perlの出力結果を.txtにして出力しているのですが、出力先が.plのあるところ以外に指定することはできるのでしょうか? <STDIN>でtxtデータを読み込んでいるのですが、例えば入力したtxtがCドライブのAというフォルダにある場合Aのフォルダ内に出力結果を出し、WドライブのBというフォルダのtxtを入力した場合はBのフォルダ内に出力結果を出したいです(入力したtxtと同じ場所に出力したい)。 わかる方がいたら教えてください、お願いします。m(_ _;m)
質問日時: 2012/10/18 20:03 質問者: daikon999
解決済
2
0
-
正規表現で"-" "0-9"以外を削除したい
正規表現の質問となります。 現在 perl にて開発中です。 やりたいこととしては、任意の文字列の中から "-" "0-9"以外を削除したいです。 例) my $str = "iPhone4s\x{306f}\x{753b}\x{8cea}\x{306f}\x{3010}\x{3010}\x{3044}\x{3044}\x{3011}1.00\x{3011}\x{3051}\x{3069}\x{3001}\x{5f62}\x{304c}\x{3010}\x{3010}\x{53ef}\x{611b}\x{304f}\x{3011}-1.50\x{3011}\x{306a}\x{3044}\x{ff01}iphone3Gs\x{306f}\x{4e38}\x{3044}\x{5f62}\x{304c}\x{3010}\x{3010}\x{7d20}\x{6575}\x{3067}\x{3057}\x{3087}\x{3011}3.00\x{3011}\x{3002}\x{3042}\x{ff5e}\x{3042}\x{3001}\x{3042}\x{3068}\x{306f}\x{96fb}\x{6ce2}\x{304c}\x{6539}\x{5584}\x{3055}\x{308c}\x{305f}\x{3089}\x{3010}\x{3010}\x{3044}\x{3044}\x{3011}0.00\x{3011}\x{306e}\x{306b}\x{306a}\x{3041}"; # $strの値はランダムとします $str =~ s/\D//g; print "$str\n"; 出力結果 -> 41001503300000 成功すれば -> 4100-1503300000 どなた様か教えて頂ければと思いますmm
質問日時: 2012/10/17 17:38 質問者: okuasu
ベストアンサー
1
0
-
perlでのtext読み込み
perlで.txtファイルを読み込むのはどうすればいいのでしょうか? コマンドライン引数ではなくC言語でいうscanfのようにプログラム実行した後にtxtファイルを指定して読み込ませたいです。 わかる人がいたら教えてください、お願いしますm(_ _;m)
質問日時: 2012/10/16 20:24 質問者: daikon999
ベストアンサー
4
0
-
行・列の整理! perl
perlでデータを並び替えて整理したいです。 【元データ】 A a b A c d A e f A g h B i j B k l B m n C o p C q r C s t C u v ・ ・ ・ 上記のデータを下記のように並び替えしたいのですが上手くできずに困っています。 どのような記述をすれば良いのでしょうか。間の空白はタブ区切りです。 【目標】 A a b c d e f g h B i j k l m n C o p q r s t u v D ・ 現在、元データから A B C D ・ ・ というデータを作り、元データと比較していますが上手くいきません。 for($i=0; $i<@key; $i++){ print OUT "$key[$i]"; for($j=0; $j<@data; $j++){ if($key[$i] =~ /$data[$j]/){ #部分一致 print OUT "$'"; } } print OUT "\n"; } 部分一致の行を正規表現を用いて上手く処理したいのですがやり方がわからず躓いています。 宜しくお願いします。
質問日時: 2012/10/16 19:10 質問者: nanashim
ベストアンサー
4
0
-
コマンド上の行間
Windows7でCygwinコマンドを使用しています。 コマンドに次の2通りを入力しました。 1. $ head -2 data.csv 1000,-60 2000,-30 ・ ・ 2. $ perl test.pl <data.csv 1000,-60 2000,-30 ・ ・ test.plは次のように書きました。 for($line =0;$_ =<stdin>;$line++){ if($line < 5){ print"$_\n"; } } 1つ目、2つ目ともにdata.csvのデータをコマンド上に出力していますが、どうして行間があったりなかったりしているのですか。 また、行間設定とかできるのですか。
質問日時: 2012/10/16 18:08 質問者: cstag
ベストアンサー
2
0
-
メアド確認をしてから送信するフォームメールのCGI
フリーのCGIプログラムを探しています。 利用者に最初にメールアドレスを入力してもらい、 そのメールに記載されたURLをクリックするとメールフォームのページが開くというCGIです。 これならメールアドレスの間違いが防止できると思いますので、どなたかご存じでしたら教えてください。 よろしくお願い致します。
質問日時: 2012/10/16 03:15 質問者: chanel888
ベストアンサー
1
0
-
外部ファイルの数値を合計計算する方法
外部ファイル(ここではCSVファイル)内の列ごとの数値を合計し、結果をコマンドに表示したいです。 数値を合計するためsum関数を用いることは分かったのですが、各列ごとの出力・数値の合計はどのようにすればいいのですか。 合計計算のイメージはこんな感じです。 CSVファイル内 1 , 25 2 , 50 3 , 75 ・ ・ ・ プログラムで外部ファイルを読み込み、各列ごとの和を計算し、 Σx=1+2+3+・・・ Σy=25+50+75+・・・ コマンド(Cygwinを使用しています)上で、 x = (数値) , y = (数値) と表示することです。
質問日時: 2012/10/16 00:50 質問者: cstag
ベストアンサー
2
0
-
オブジェクト作成の順番
こんにちは。Perlについて教えていただきたいことがあります。 こう書くと$temp_pathに値が入ります。 ----------------------------------- my $e = CGI->new(); my $q = CGI->new(); my $fh = $e->upload('file'); my $temp_path = $e->tmpFileName($fh); ----------------------------------- こう書くと$temp_pathに値が入りません。 ----------------------------------- my $q = CGI->new(); my $e = CGI->new(); my $fh = $e->upload('file'); my $temp_path = $e->tmpFileName($fh); ----------------------------------- tmpFileNameは最初に作成されたオブジェクトでないとならないような 仕様があるのでしょうか? それとも、他に原因があるのでしょうか? どうかよろしくお願いします。
質問日時: 2012/10/15 16:56 質問者: investigate
ベストアンサー
1
0
-
CSVファイルの処理方法
PerlでCSVファイルの処理をしようとしています。 CSVファイル(ここではdata1.csvとします)の中身は、A列とB列に数値が1000行程表記されています。 -5,1 -4,2 -3,3 ・ ・ ・ 作成したPerlのファイル(ここではtest1.plとします)下のようにし、 while ($_=<stdin>){ print"$_\n"; } Cygwinコマンド上で、 $ perl test1.pl <data1.csv と入力すると、CSVファイル(data1.csv)の数値がCygwinコマンド上に全て表記されます。 前置きが長かったのですが、CSVファイル(data1.csv)の3行目までの数値だけをCygwinコマンド上に表記したい場合、どのようにプログラムすればよいのですか。 お願いします。
質問日時: 2012/10/14 15:49 質問者: cstag
ベストアンサー
3
0
-
auのiPhoneでの受信メールが文字化けします。
フリーのCGIをパーミッションを変える程度で設置できる程度のPerl超初心者です。 下のプログラムは、フォームを使って利用者のメールアドレスに送信してメールアドレスの確認のためのに書かれた部分らしいと思いますが、 通常のパソコンでは、届いたメールは文字化けしていません。 しかしながら、私が持っているauのiPhoneでは着信したメールが見事に文字化けしています。 ここより上も下も関係ない感じがするので、この辺りを切り取ってみました。 auのiPhoneで文字化けしないようにするにはどうすればいいのでしょうか? それともこの辺りの記述じゃないのでしょうか? お手数をお掛けしますが、教えてください。 お助けください。 よろしくお願い致します。 if ( $mail =~ /^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/ && $mail !~ /[\[\]\,\;\:\\\s\r\n\t]/) { $print .= "<CENTER><BR><BR>$mail宛てにメールを送信致しました。<BR><BR>しばらくたってもメールが届かない場合はメールアドレスが間違っている可能\性があります。<BR><BR>メールが届かない場合は再度お願い致します。<BR><BR>\n"; open(OUT,"| $sendmail -t"); &jcode'convert(*mailcheckkenmei,'jis'); print OUT<<"EOM"; To: $mail From: $mastermail Subject: $mailcheckkenmei EOM print OUT "お客様のメールアドレスを確認しました。\n下記URLにアクセスしてください。\nこのメールに心あたりがない場合はお手数ですが返信してお知らせください。\n\n\n"; print OUT "$basedir/formmail.cgi?query=$encmail"; close(OUT); &print($print); exit; }else{ if ($mail){ $print .= "<p><Font color=\"red\">メールアドレスを確認してください</FONT></p>\n"; } }
質問日時: 2012/10/13 21:48 質問者: auchan2001
ベストアンサー
1
0
-
自動返信について
以下のCGIでは$MAILTO に送信されますが、追加的に、申込者に自動返信(文章つき)をするにはどのように修正するのですか。 #! c:/perl/bin/perl require "jcode.pl"; require "mimew.pl"; $SENDMAIL = 'c:\sendmail\sendmail'; # sendmailのパス $MAILTO = 'のがわ <nogawa@example.net>'; # メールの宛先 # フォームデータの取得 if($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } # フォームデータの復元 foreach $pair (split(/&/, $query)) { ($key, $value) = split(/=/, $pair); # 文字のデコード $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg; $FORM{$key} = $value; } # MIMEエンコード $mail_to = mimeencode($MAILTO); $mail_from = mimeencode($FORM{'name'}); $mail_subject = mimeencode($FORM{'subject'}); # 文字コードの変換 $body = jcode::jis($FORM{'msg'}); # メールヘッダーの生成 $header = <<END; To: $mail_to From: $mail_from<$FORM{'email'}> Subject: $mail_subject Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP END # メールの送信 open(MAIL, "| $SENDMAIL -i -t -f $FORM{'email'}") or die("エラー:sendmailへのパイプが開けません"); print MAIL $header, $body; close MAIL; # サーバー出力 print <<END; Content-type: text/html; charset=Shift_JIS <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>めーるふぉーむ</title></head> <body> <p>メールを送信しました。</p> </body> </html> END
質問日時: 2012/10/12 15:47 質問者: houseroof
ベストアンサー
1
0
-
日本語だけを抽出したい
SJIS、EUC、UTF8、のどれがくるかわかりませんが、 かつ、その中で、どの言語がくるかわかりませんが、 その中で、日本語だけを、可能な限り容易に判別する方法は ありますでしょうか? また、既存のモジュールを可能な限り使用しない方法でもあります。 #pureperlで書かれていれば、移植はできますが ひらがな、カタカナを抽出すればいいのもありますが、 仮対処にしかならず、漢字だけの場合の抽出が できなくなってしまいます。 以下、参考までに・・ 内部コードがSJIS? #内部コードも、SJIS、EUC、UTF8のどれになるかわかりません。 UTF8の日本語がきたら、SJISになる UTF8の中国語がきたら、化ける(捨てる対象 EUCの日本語が来たら、SJISになる EUCの韓国語がきたら、化ける(捨てる対象) SJISの日本語が来たら、そのまま ・・のような感じになってしまいますので。。 よろしくお願いします。
質問日時: 2012/10/12 02:13 質問者: ymda
ベストアンサー
3
0
-
データの抽出
'2012/04/03-20:14:00' => 'WIND' => '5.7' '2012/04/03-20:14:01' => 'WIND' => '5.9' … という風に時間と風速が書かれたテキストデータがあるのですが、この風速が'20'以上の場合の行のみを抽出して表示したいのですが、どのようなプログラムを書けばよろしいでしょうか。
質問日時: 2012/10/11 20:58 質問者: sasmostmilk
ベストアンサー
1
0
-
Perlでのファイル入出力、処理方法
メモ帳で以下のようなプログラムを書きました。(file_1.plで保存しました) #!/usr/bin/perl $file="data.csv"; $cityfile="name.txt"; $outfile="data_out.csv"; open (IN, $file) or die "$!"; open (FILE, $file) or die "$!"; open (OUT, ">$outfile") or die "$!"; @city = <FILE>; ・ ・ ・ これをCygwinコマンド上で、 perl file_1.pl と入力し、Enterを押すと「No such file or directory at file_1.pl line 9.」と表示されます。 line9はopen (FILE, $file) or die "$!";という文です。 どこが間違えで、どのように修正すればよいのでしょうか。 よろしくお願いします。
質問日時: 2012/10/05 12:35 質問者: pipe_gg
解決済
6
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Perl】に関するコラム/記事
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで特定文字列から特定文字列ま...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授くださ...
-
perlプログラミング 空白行削除
-
Windows10においての『Perl』のプロ...
-
openした後、closeしないでプログラ...
-
perlをバージョンアップしたら、今...
-
Perlでファイルの末尾から指定文字...
-
INDIRECT 横に再度抽出したい
-
テキストファイルで提出とは?
-
perl の open について教えてくださ...
-
アルファベットに付いて質問します...
-
#!/usr/bin/perlで書きだしたCGIを...
-
ファイルアイコンの左下に緑の□の中...
-
Perlで時間の計算
-
perlの構文でカンマの意味が分からない
-
Blenderについて
-
Perl の外部モジュールの利用方法
-
Perlのプログラムについて
-
vlookupがうまくいきません、教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプログラ...
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授くださ...
-
perlをバージョンアップしたら、今...
-
perlで2次元配列をサブルーチンに...
-
INDIRECT 横に再度抽出したい
-
Wallpaper Engineでおすすめの壁紙...
-
bashスクリプト
-
Strawberry Perl for Windows で Ou...
-
perlプログラミング 空白行削除
-
perlの構文でカンマの意味が分からない
-
Perl の外部モジュールの利用方法
-
Perlで、「が」を、「が」...
-
Windows版のPerlについて
-
Perlで時間の計算
-
Perlでファイルの末尾から指定文字...
-
perl 初等プログラミングについて
-
VBA変数をFunction.VLookupの戻り値...
-
Perlで特定文字列から特定文字列ま...
-
perl 正規表現でエラー
おすすめ情報