![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
要素のない配列を消したいです。
do\n
be\n
usual\n
become\n
get\n
look\n
watch\n
このような複数行の文があり"a"が入っている行だけ配列に突っ込みたいと思っています。
自分が試した方法として。
@line = split(/\n/,$content);
とりあえず改行で区切り配列にぶち込んでいき。
foreach $line (@line){
unless ($line =~/a/){
$line = undef;
}
}
その次に"a"が入っている以外の配列にundefを入れるようにしていました。
しかしこれだとundefが入っている配列がたくさん出来てしまい納得がいきません。
要素のない配列を消したいです。
どなたかご教授お願いします。
No.5
- 回答日時:
配列に収めたときの\n の扱いが気になりますが(要素に含まれる含まれない?)、
含まれないものとして、
use strict;
use warnings;
use v5.12;
my $content = "
do
be
usual
become
get
look
watch
";
my @ary = grep {index($_, 'a') >= 0} split "\n", $content;
say join(':', @ary);
usual:watch
とこんな感じ。
No.4
- 回答日時:
本題は終わっていると思うので余談だけ.
「要素のない配列」っていうと, 普通は
@emptyArray = ();
の @emptyArray のようなものを想像するよね.
あと, 「undefが入っている配列」だと
@array = (undef);
とか
@array = (undef, 'a', undef, undef, 3.4);
はそうだね. で, こういうのがたくさんある状況が「undefが入っている配列がたくさん」でしょ?
No.2
- 回答日時:
「undefが入っている配列がたくさん出来る」というのが何を意味するのかわからんし「要素のない配列を消したい」というのもなんのこと
やらだが grep?この回答への補足
grep演算子勉強になりましたありがとうございます。
質問文が少し変なのでしょうか。申し訳ありません。
上の例で言いますと。
do\n
be\n
usual\n
become\n
get\n
look\n
watch\n
を配列にすべて入れ、"a"を含まないものにundefを入れていきます
foreachで改行しながら配列の中身をprintしていくと
usual
watch
このように表示されてしまいます。
usual
watch
↑理想はこの形です
質問のようなやりかただと配列の要素の数が7になります。
私がやりたいのはこの場合だと要素の数が2になり、ほかの要素は削除したいのです。文章が汚くて申し訳ないです。
grepで完結出来そうですがもう少し質問受付ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
ファイルをディレクトリ分配の...
-
openした後、closeしないでプロ...
-
perlのプログラミング 部分入れ...
-
Perlのエラーについてご教授く...
-
画像が表示でnull; this.src
-
perlプログラミング 空白行削除
-
Perlで特定文字列から特定文字...
-
ラズベリーパイ初心者です。 ラ...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプロ...
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
Perlで特定文字列から特定文字...
-
perlをバージョンアップしたら...
-
Wallpaper Engineでおすすめの...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
Strawberry Perl for Windows ...
-
Perlで時間の計算
-
このファイルを開く方法で困っ...
-
TeraPadエディターの操作方法に...
-
cgiでサーバーにファイルを追加...
-
フローチャート 九九
-
LinuxにおいてのPerlのプログラ...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授く...
-
こんにちは ブラケッツでプログ...
-
bashスクリプト
-
perlプログラミング 空白行削除
おすすめ情報