文字列から数字を抜き出す


Perlで文字列から数字を抜き出すのはこんな感じか?

#!/usr/bin/perl
use strict;
use warnings;

my $DIGITS = '(\d+)';
my @pieces;

# 文字列を数字と数字以外に分ける。
@pieces = split(/$DIGITS/, '123a4bcd56e');
print join(", ", map{"'$_'"} @pieces), "\n";
#=> '', '123', 'a', '4', 'bcd', '56', 'e'

# 文字列から数字を抜き出す。
@pieces = map{/$DIGITS/g} '123a4bcd56e';
print join(", ", @pieces), "\n";
#=> 123, 4, 56