Could do something like:
@MyNbrs = map{ /(\d+)/g } $MyInp;
Small script:
my @MyNbrs = ();
while ( 1 ) {
printf "Please enter string of data:\n";
chomp(my $MyInp = <STDIN>);
last if ( $MyInp =~ /^ex$/i );
@MyNbrs = map{ /(\d+)/g } $MyInp;
my $MyCnt = 1;
foreach ( @MyNbrs ) {
printf "%3d: %6d\n", $MyCnt++, $_;
}
}
Input:
adfafdafd1234erer12dasd34qweqeqweqw4567
Output:
1: 1234
2: 12
3: 34
4: 4567
Wags ;)
-----Original Message-----
From: Hewlett Pickens [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 16, 2002 15:39
To: [EMAIL PROTECTED]
Subject: Pattern Matching - Remove Alpha
I am unable to use "split" with pattern matching to remove alpha characters
from a string and will appreciate a pointer on what I'm doing wrong. (Have
looked in "Learning Perl" and "Programming Perl" but can't spot my error.)
The detail:
"$stat" is a string that has alpha and numeric data in it.
I want to remove all of the alpha and put the numeric data into an array.
The first attempt:
my @nums = split(/a-zA-Z/,$stat); # removes all data from the string
The second attempt:
my @nums = split(/a-z/,$stat); # removes all data from the string
>From reading, my understanding of "split": Discards all data that matches
the pattern and returns a set of list values for the unmatched data. ("my
understanding" may be the problem)
This pattern works - removes all blanks (white space) but leaves alpha and
numbers which of course isn't what I want
my @nums = split(/ +/,$stat); # removes all blanks
Hewlett
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]