
要素のない配列を消したいです。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
テキストファイルで提出とは?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
perlをバージョンアップしたら...
-
Perlで時間の計算
-
Wallpaper Engineでおすすめの...
-
Perl言語について。
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
#!/usr/bin/perlで書きだしたCG...
-
perl の open について教えてく...
-
INDIRECT 横に再度抽出したい
-
アルファベットに付いて質問し...
-
openした後、closeしないでプロ...
-
画像が表示でnull; this.src
-
VBA変数をFunction.VLookupの戻...
-
perlのflock関数でロックをかけ...
-
Perl の外部モジュールの利用方法
-
TeraPadエディターの操作方法に...
-
bashスクリプト
-
perlの構文でカンマの意味が分...
おすすめ情報