moon_piyo の回答履歴

全201件中41~60件表示
  • 正規表現について基本的な質問

    Perl超初心者です。 前回のテクニカルエンジニア・セキュリティの試験に以下のソースが記載されました。 sub make_sid { my ($user_ID) = @_; my enc_key = "4f583...."; my $sid, $salt, $sid_time; $sid_time = now; $sid_time =~ /..$/; $salt = $s; $sid = encrypt($user_ID, $salt . $enc_key); $sid = $sid . $sid_time ; $sid = $sid . make_hash($sid); return $sid . $sid; } $sid_time =~ /..$/; この行の意味が理解できないのです。 正規表現で、「2文字あれば真」という意味に思えるのですが、後続の処理に全く影響しないように思えます。 正規表現がまだよくわかっていないため、勘違いしているのでしょうか。

    • ベストアンサー
    • ryusei2
    • Perl
    • 回答数1
  • Oracleのデータベースに接続できない。

    OS : WindowsXP SP2 Perl : ActivePerl 5.8.8 DBD : DBD-Oracle1.17 DB : Oracle9i PerlでOracleのDBサーバに接続ができません。 ソースは以下の通りです。 ================================================================================ #!perl -w use DBI; $dbh = DBI->connect('dbi:Oracle:test', 'scott/tiger') or die "An error occured : $@"; $dbh->disconnect; exit 0; ================================================================================ 上記コードを実行すると、connectの行でdieします。 ================================================================================ D:\test>perl ttoracle.pl DBI connect('test','scott/tiger',...) failed: ORA-12705: Cannot access NLS data files or invalid environment specified (DBD ERROR: OCISessionBegin) at ttoracle.pl line 5 An error occured : at ttoracle.pl line 5. ================================================================================ Oracleのサーバーはローカルにあり、ポートもデフォルトの設定です。 試しに、 $dbh = DBI->connect('dbi:Oracle:test@localhost:1521', 'scott/tiger') or die "An error occured : $@"; としましたが、結果は同じでした。 また、エラーの内容的に環境変数かと思いORACLE_HOMEを環境変数にセットしてみましたが、これもまた、結果は同じでした。 DBの接続については、sqlplusコマンドからであれば問題なく接続できます。 (コマンド:sqlplus scott/tiger@test) やはり、環境変数まわりの設定が問題でしょうか? よろしくお願いします。

  • 正規表現での$1や$2の使用方法

    正規表現の置き換え文字列部分で使用できる$1や$2の使用方法を教えてください! 以下のソース1のようにs///gの置き換え文字列部分に$1や$2を直接記述すれば、1つ目と2つ目のマッチ部分で置換が行われるのは確認しました。 しかし、ソース2のように置き換え文字列部分を変数に代入したのち、使用すると、正しく置換が行われません。 $1や$2を含んだ置き換え文字列を変数に持っている状態で、ソース1と同じ結果を得るにはどうしたらよいか、ご存知でしたら教えて下さい。 ############################## # ソース1 ############################## #!/usr/bin/perl $data = '1234567'; $ptn = '(\d{3})(\d{4})'; $data =~ s/$ptn/$1-$2/g; ############################## ↓ $dataは123-4567となる。 ############################## # ソース2 ############################## #!/usr/bin/perl $data = '1234567'; $ptn = '(\d{3})(\d{4})'; $str = "$1-$2"; $data =~ s/$ptn/$str/g; ############################## ↓ $dataは-となる。

    • ベストアンサー
    • hiro--pon
    • Perl
    • 回答数2
  • EXCEL ファイルの開きが遅いのです!

    毎度お世話になっておりますm(_ _)m WinXP+Office2003ですが、30MのEXCELファイルを開こうとすると、数分掛かってしまいます。最初にウイルスチェックが入るのはいいとして、そのあとステータスバーに「開いています」が出てからの数分です。 メインメモリの不足かな?と思い1Gへ増設しましたが、変化なし! ファイルサイズが大きいので、こんなもんでしょうか?釈然としません。どなたかお知恵を拝借できればと思います。よろしくお願いします。

  • Excelの直線一括削除

    教えてください。 Excelのシートに引き詰められたオートシェイプの直線を一括に削除したいのですが、そんな方法はありますか?

  • Excelで集計したいのですが

    下記のような表があります。   A   B   C   D   E 1  8月  9月 10月 11月 12月 2  15  15  15  10  18 3  3  5   4   0  1 4  5  5   5   5  10 この表で別セルに「11月」と打込むと行2の値は「10」、 行3の値は「0」、行4は・・・と検索まではできたのですが、 それぞれの行の打込んだ月の前月までの集計が出来る方法はないですか? すみませんお願いします。

  • SUMIF関数で検索条件の指定セルの下の空白セルを指定

    関数初心者です、よろしくお願いいたします。   SUMIF(Sheet2!$C:$C,"あいうえお",Sheet2!$G:$G) という数式を作りました。 この場合の検索条件C列の”あいうえお”の「2つ下のセル」を検索条件と したいのですが、その2つ下のセルは文字も数値も入っていません。 (空白のセル) 条件としてC列”あいうえお”とか”かきくけこ”のセルの 常に2つ下のセルを条件にしたいのですが指定はできないのでしょうか。 どうかよろしくお願いいたします。

  • Excelで全ての行単位で改ページ

    1行目で改ページ、2行目で改ページ、・・・ をしたい場合、現在はデータ量も少ないことからそれぞれの行に 改ページを挿入していますが([挿入]-[改ページ])、 今回大量のデータを扱うことになりました。 マクロなどで処理することは出来るでしょうか。 よろしくお願いいたします。

  • Excelで全ての行単位で改ページ

    1行目で改ページ、2行目で改ページ、・・・ をしたい場合、現在はデータ量も少ないことからそれぞれの行に 改ページを挿入していますが([挿入]-[改ページ])、 今回大量のデータを扱うことになりました。 マクロなどで処理することは出来るでしょうか。 よろしくお願いいたします。

  • 【Excel】関数でできますか?(訂正版)

    Excel2003を使用しています。   E列→摘要欄 H列→借方金額 I列→貸方金額 K列→差引残高  1行  あ                   100  2行  い      100  3行  う       500  4行  5行 月 計     600           100        500  6行  7行  8行  か                    300  9行  き       400 10行   く       500 11行 12行 月 計     900            300        1100 13行 累 計    1500            400       :       : というふうに金額が入力されているとき、K列の差引残高に E列に“月 計”と入力されたら、 [直前の月 計の差引残高セル]+[借方金額]-[貸方金額]という 数式を入れたいのですが、どんな関数を使えばできますか? 上記の例でいくと、 K12セルに[=K5+H12-I12]の計算結果が表示されるように したいのですが。。。 よろしくお願いします。

  • 【Excel】関数でできますか?(訂正版)

    Excel2003を使用しています。   E列→摘要欄 H列→借方金額 I列→貸方金額 K列→差引残高  1行  あ                   100  2行  い      100  3行  う       500  4行  5行 月 計     600           100        500  6行  7行  8行  か                    300  9行  き       400 10行   く       500 11行 12行 月 計     900            300        1100 13行 累 計    1500            400       :       : というふうに金額が入力されているとき、K列の差引残高に E列に“月 計”と入力されたら、 [直前の月 計の差引残高セル]+[借方金額]-[貸方金額]という 数式を入れたいのですが、どんな関数を使えばできますか? 上記の例でいくと、 K12セルに[=K5+H12-I12]の計算結果が表示されるように したいのですが。。。 よろしくお願いします。

  • 複数の候補列から、検索値と一致するものの隣セルを反映したい

    エクセルにて、検索範囲中、複数の列を候補として、検索値と一致するセルの隣のセルを表示させたいのですが、うまくいきません。 そもそもは、VLOOKUPでやろうとしたのですが、VLOOKUPだと、範囲指定において検索値との一致候補は一番左の列に来ていなければいけないのでしょうか? INDEX,MATCHも調べたのですが、自力では成功に至りませんでした。 どなたか、ご指導いただけるとありがたく存じます。よろしくお願い致します。

  • エクセル”ファイルエラー:データが失われた可能性があります。”と表示されます。

    昨日エクセルで商品リスト(商品数約2千点)をつくり、そこにその商品の画像を貼り付け(挿入)xls形式で保存しておきました。そのエクセルファイルを今開けようとしたら表題のようなエラーメッセージが出て、OKをクリックすると開くのですが貼り付けた画像がすべてなくなってしまってます。7~8時間かけて作ったのに最悪です。復元する方法はないでしょうか? ファイルのプロパティを見るとデータが3.39MBの大きさになってまするのでどこかに残ってるといいんですが・・・。かなり困ってます。どなたかどうかお力をお貸し下さい。

  • Win32::OLE で Excel のウィンドウ枠固定

    Ver は Perl 5.8 で、 今 Win32::OLE を利用して、Excel ファイルの操作をする スクリプトを書いています。 VBA で書けば以下の様に「ウィンドウ枠の固定」ができるのですが、 これを Win32::OLE を使った場合はどのような記述になるのかが 分からなくて困っています。 With ActiveWindow .SplitColumn = 1 .SplitRow = 1 .FreezePanes = True End With よろしくお願いします。

  • 読み込んだデータを配列へ代入する方法

    ---ここから--- 1,2 3,4 ---ここまで--- このようなファイルを読み込んでデータを配列へ格納するには, $pathname="D://data.txt"; open MYFILE, "$pathname"; @list=<MYFILE>; for($i=0;$i<2;$i++){ @dat=split(/,/,$list[$i]); print @dat; } close MYFILE; といったようなforあるいはwhileで1つの配列(上の場合だと@dat)に1行のデータを繰り返し入れていく方法しか思い浮かびません。できれば1行目のデータは@dat1という配列へ,2行目のデータは@dat2という配列へ,といったように行ごとに別々の配列へ代入させたいのですが良い方法はないでしょうか。 もしくは@dat=([1,2],[3,4])のような2次配列の形にでもできれば最高なのですが、、、

    • ベストアンサー
    • backs
    • Perl
    • 回答数1
  • ifについて

    アルファベットの名前から漢字の名前を取得するサブルーチンを作ったのですが、なかなかうまくいきません。 name.txtの内容は、 名前1<>コメント1<>name1<> 名前2<>コメント2<>name2<> 名前3<>コメント3<>name3<> 名前4<>コメント4<>name4<> です。 sub Get_Name{ my $temp = $_[0]; $i = 0; open(NAME,"name/name.txt"); while(<NAME>){ ($name,$comment,$a_name) = split(/<>/); if($temp == $a_name){ $output = $name; } } close(NAME); return $output; } これを実行すると、$outputに名前4が入ってしまいます。 どこが原因かわかる人いませんか?

  • 配列の連想配列のソート

    お世話になります。mooTaihenです。 Perlで配列のソートが出来なくて困っております。 お忙しいところ、誠に申し訳けありませんが、ご教示をお願い致します。 【内容】  サンプルソースに示した様なデータ構成をソートしたいのですが、思惑通りに行きません。  期待しているソート結果は、 a1 b3 b4 c2  です。  <サンプルソース> my @data; $data[0]{name} = "b"; $data[0]{cnt} = 4; $data[1]{name} = "c"; $data[1]{cnt} = 2; $data[2]{name} = "b"; $data[2]{cnt} = 3; $data[3]{name} = "a"; $data[3]{cnt} = 1; @data2 = sort {chg($a,$b)} @data; foreach (@data2) { print $_->{name} . $_->{cnt} . "\n"; } sub chg { my(@s,@d)=@_; return $s[0]{name} cmp $d[0]{name} and $s[0]{cnt} <=> $d[0]{cnt}; }  <出力結果> a1 b3 c2 b4

    • ベストアンサー
    • mooTaihen
    • Perl
    • 回答数1
  • リンク以外の部分の置換方法

    お世話になっております。 例えば $A = 'たこ'; $B = qq[いかすみ<A href="" title="いかすみ">いかすみ</A>いかすみ]; という場合に、$B のリンク部分外の いか(計4つ)を たこ(計2つ)に置換したいのです。 ↓希望する結果 $B = qq[たこすみ<A href="" title="いかすみ">いかすみ</A>たこすみ]; いかすみ前後に文章や文字があります。 リンク部分は複数の可能性もあります。 行き詰まってしまいましたので、ご教示頂けますと嬉しいです。

  • リンク以外の部分の置換方法

    お世話になっております。 例えば $A = 'たこ'; $B = qq[いかすみ<A href="" title="いかすみ">いかすみ</A>いかすみ]; という場合に、$B のリンク部分外の いか(計4つ)を たこ(計2つ)に置換したいのです。 ↓希望する結果 $B = qq[たこすみ<A href="" title="いかすみ">いかすみ</A>たこすみ]; いかすみ前後に文章や文字があります。 リンク部分は複数の可能性もあります。 行き詰まってしまいましたので、ご教示頂けますと嬉しいです。

  • 文字列操作に関する質問です。

    すいません。教えてください。 テスト,:10,田中<TANAKA>NONAMAEHA一郎<ITIROU>TO言<I>IMASU,N000,123,__,050210,99999, が$_に入っているとして、これを テスト,:10,田中NONAMAEHA一郎TO言IMASU,N000,123,__,050210,99999, テスト,:10,田中NONAMAEHA一郎TOIIMASU,N000,123,__,050210,99999, テスト,:10,田中NONAMAEHAITIROUTO言IMASU,N000,123,__,050210,99999, テスト,:10,田中NONAMAEHAITIROUTOIIMASU,N000,123,__,050210,99999, テスト,:10,TANAKANONAMAEHA一郎TO言IMASU,N000,123,__,050210,99999, テスト,:10,TANAKANONAMAEHA一郎TOIIMASU,N000,123,__,050210,99999, テスト,:10,TANAKANONAMAEHAITIROUTO言IMASU,N000,123,__,050210,99999, テスト,:10,TANAKANONAMAEHAITIROUTOIIMASU,N000,123,__,050210,99999, というように<>の部分を展開してout.txtというファイルに出力するプログラムを作りたいです。 どうか、よろしくお願い致します。

    • ベストアンサー
    • 1129san
    • Perl
    • 回答数4