-以下のようなファイル名が複数あります。入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。以下のようなファイル名が複数あります。abcd_021106_2.txtというふうに格納されてしまいます。どのようにすればいいのでしょうか。通報するこの質問への回答は締め切られました。23:20急いで書いたので可読性が悪く、極意と言うほど一般化できませんでしたが、下記で出来ますよ。ファイル名の形式が、「文字列_数字_数字.拡張子」となっている場合しか使えません。形式が違う場合は、正規表現と、<=>、cmpを入れ替えて使ってください。$_->[0]);}この時点で、@listに期待した順番でファイル名が入っているはずです。通報するこの回答へのお礼スクリプトまでご紹介くださり、ありがとうございます。そのまま貼り付ける形で実行できることを確認しました。貴重な時間を割いていただき、感謝いたします。02:16ご要望のソートは、次のスクリプトで実現できます。1これは、1.元データと末尾の数値からなる"無名配列のリスト"を生成2.末尾の数値で"無名配列のリスト"をソート3.ソートされた"無名配列のリスト"から、元データを取り出すという流れになっています。番号順」でソートする場合、次のようにします。@list;アルゴリズムについては、参考URLのページもご参考ください。通報するこの回答へのお礼スクリプトと詳細に解説していただき、ありがとうございます。自分でも探したつもりでしたが、見つけることができませんでした。貴重な時間を割いていただき、感謝いたします。22:57ソートですが、下記のものが正しいですね。ならないように以下のように工夫してもらうしかないです。abcd_021106_11.txt以上のように桁数をあわせてあげれば、あなたが思ったようにソートされます。通報するこの回答へのお礼ありがとうございます。このようなフォーマットにするのが正当なんですね。以後、参考にさせていただきます。Perl」に関するQ&A:配列の中に重複文字列があるか否かをチェックしたいのですが、アルゴリズムを教えてください。error_logファイルの「robots.txt」は何を意味していますか。PDFファイルアップロード時にOSファイル名の取得のほか任意のファイル名を記録する方法について教えてください。回答数ランキングです。/^[0-9]*$/上記の場合、*は「直前のパターンの0回以上の繰り返し」の意味なので、0から9がなくても、つまり$aが空でもマッチしてしまいます。/^[0-9]+$/としましょう。/^\d+$/と書くこともできます。他の回答も見るQPerlで特定行から特定行までを抜き出したい皆さんのお知恵をお貸し頂ければ幸いです。Perlで以下のようなことをしたいと考えています。次のようなテキストファイルがあったとします。example.log==================================aaaahogehogetestokokperlscript==================================上記ファイルを読み込んで、「hogehoge」から「perl」の間に挟まれた行だけ抜き出したいのです。イメージとしては、読み込んだファイルを配列に入れて、一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。このような場合、どういう風にすればいいのでしょうか?恐れ入りますが、ご教授頂ければ幸いです。それでは、どうぞよろしくお願い致します。一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。それでいいと思いますよ?これをそのままコード化すると、こんな感じでしょうか。(No.1さんのとはちょっと結果が違います。FH;で、もっと略したいPerlな人だとこんな感じ。FH;※インデントに全角空白を使っているので、コピーする場合はタブなどに置換して下さい。一行づつ読ませ、キーワード「hogehoge」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「perl」が現れた時点で表示を止めるという処理になるのかな?と思っています。それでいいと思いますよ?これをそのままコード化すると、こんな感じでしょうか。(No.1さんのとはちょっと結果が違います。$fl...続きを読む他の回答も見るQ複数ファイルの読み込みについてperl初心者です。あるディレクトリから拡張子がdataであるファイルを全て読み込みたいのですが、方法がわかりません。$argとなりますよね?引数がリストなのでよくわかりません。"$arg");とすることは可能ですか?上の質問と組み合わせて全てのファイルを開いて作業を行いたいので。説明が下手ですいません。補足しますのでよろしくお願いします。$_には、*.DATAなファイル名が格納されている。while(<F>){##読み出された内容が$_に格納されている。}}というのが最短コーディングです。他の回答も見るQcgiとplとpm掲示板ソースをダウンロードするとplやpmという拡張子のものがありました。中身はPerlでした。拡張子の使い分けを教えてください。適当に4つのルールを書いてみましたので、間違っていたり、追加するルールがありましたから教えてください。ブラウザがそれ自身にアクセスし、ブラウザのアドレスバーに表示させるならcgiにするべき。Perlのpackageの機能を使うなら、パッケージファイルはplかpmでなくてはならない。Perlのrequireの機能を使うなら、その外部ファイルはplでなくてはいけない。Perlのuseの機能を使うなら、その外部ファイルはpmでなくてはならない。基本的に拡張子は、あっても無くてもなんでもOKです。モジュールには.pmをつけなければなりません。webサーバによってCGIとして使える拡張子に制限がある場合があります。1.について言語として、特に拡張子を.cgiにしなければならないというのはありません。.plでも.doでも.hogeでも基本的には大丈夫ですが、大抵運用するwebサーバによって使える拡張子が制限されています。.cgiしかダメなサーバとか。2.についてそのような制限はありません。拡張子は何でもOKです。前述の通りwebサーバによって拡張子の制限がかかっている場合はCGIとしては実行できません。3.についてそのような制限はありません。拡張子は何でもOKです。4.についてその通りです。use関数の対象になる外部ファイルは.pmでなければなりません。関数の仕様が知りたいです。ご存知の方、ぜひ教えてください。仕様という意味ではこちらになるでしょうね。http://www.perl.com/doc/manual/html/pod/perlfunc/readdir.html同じような疑問を持たれた方がおられるようなので、載せておきます。http://www.computing.net/programming/wwwboard/forum/4535.htmlここではファイルシステム依存ということになっていましたが、公式サイトには順番についての記述はありませんでした。どのような順番で情報が格納されるのでしょうか?の答えは「決まっていない」になりますね。処理系依存ということでしょう。どんな環境でも同じ結果が欲しいというのであれば、@dir_listに対してsortをかけるしかないと思います。5.6を使っております。Perlで原因不明なエラーに直面して困っております。refs"というエラーが発生しているのですがこれは良くあるミスとして何が原因でしょうか?AベストアンサーNo.2です。diagnostics;しましょう。他の回答も見るQCPANでインストールしたモジュールの削除方法CPANであるモジュールをインストールしたのですが見当違いのモジュールでした。削除しなければならず色々調べてみたのですがインストール方法しか見つからず削除方法がわかりません。どなたかわかる方教えてください。Aベストアンサーがると申します。uninstallは、install方法次第ではあるのですが。cpanコマンド使ってであるとすると、それは実際にはMakefileでのコンパイル&installになります。install系の、これは最大の欠点といわれているのですが。「自力で手動で探し出す以外に削除手段はない」です。rpm系の唯一にして最大の利点がココの部分の解消ですね。あたり)に.cpan/build/というディレクトリがありまして、その下にソースが展開されているので。.soファイルは...Makefile解析するか、findあたりで探すか、で削除するしかないです。メジャーなcpanのMakefileはそんなにお行儀悪くないので、そうあちこちには散らかしてないと思うのですが...。不明な点などあったら追加で質問していただければ。他の回答も見るQperlで配列の要素が空なのを知るには?教えてください。比較する.他の回答も見るQperlで配列名を動的に作り出したい試しに次のようにしてみましたがエラーになりました。(1,2,3);$mystrの内容はいろい変わっていきます。ご存知の方いらっしゃいましたらすみませんが教えてください。;とかやった方がいろいろ便利だと思うんですが。・変数名に使えない文字を$mystrに使える・keys,each,exists等のハッシュを操作する関数が使える他の回答も見るQpingでポートの指定pingでIPアドレスを指定して、通信できるかどうかというのはよく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?よろしくお願いしますAベストアンサーpingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。・クライアントからサーバへのログイン(TCP/21)・クライアントからサーバへのlsの結果(TCP/20)で確認すればよいでしょう。pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。GridViewのソ...4DataGridViewの昇順降順。...17二次元配列における要素数のは...181wordとは、何文字ですか?19配列からのCSVファイルの作...20EXCEL/VBAで、自分のPCだけエラ...Excelにて、ソートをしようとVB...System.IO.Directory.GetFiles...csvファイル内にてソートす...4ブック.csvを開かずに他のブッ...5DataGridViewの昇順降順。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。