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:HPickens@bimoyle.com] Sent: Wednesday, January 16, 2002 15:39 To: beginners@perl.org 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: beginners-unsubscribe@perl.org For additional commands, e-mail: beginners-help@perl.orgThread Previous | Thread Next