將 ‘a’,’b’,’c’,’c’,’b’,’a’,’a’,’a’,’b’,’b’,’b’ 像 uniq -c 一樣算出同樣字元的各有幾個

use strict;
use Data::Dumper;
my @arrays = ('a','b','c','c','b','a','a','a','b','b','b');
my %count;
map { $count{$_}++ } @arrays;
print Dumper \%count;

結果

$VAR1 = {
          'c' => 2,
          'a' => 4,
          'b' => 5
        };

my @selfs;
map { push @selfs ,"${count{$_}} $_"} sort keys(%count);
print Dumper \@selfs;

結果

$VAR1 = [
          '4 a',
          '5 b',
          '2 c'
        ];
Related posts 相關文章
2020 年迎來了 PHP 8 與 Perl 7
More...
安裝 perl 5.8.1 版本 – 草記
More...
perl 備註
More...
perl 隨機產生 password 密碼
More...

作者

留言

作者

use strict; use Data::Dumper; my @names = qw/joe bob sue bob mike sally mike bob sally dale joe/; # 第一種,較簡化 my %counts; $counts{$_}++ for @names; print Dumper \%counts; # 第二種,較迂迴 my %uniq; foreach (@names) { push @{$uniq{$_}} , 1; } print Dumper \%uniq;

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。