鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

perlで配列の引き算したいんですよ

仕事でちょっとしたツールを作った時に、配列の引き算をしたくなって、 以下のようなNGコーディングをしてしまった。

my @uu = @boo-@foo;

そんでもって以下のようにコードを書き換えて動かしました。

use strict;
use Data::Dumper;

my @lefts = (1,3,5,7,9);

my @rights = (1,3,5,7);

my @minus;

for my $left(@lefts){
    if (!grep{$_ eq $left} @rights){
        push(@minus,$left);
    }

}

print Dumper(@minus);

もう少しスマートな実装方法を考えてみよう。