This might serve as a starting point, but what you are doing is fraught with problems. Even assuming that you are only interested in US phone numbers (4 or 10 digits), there are several conventions used by different groups of people when writing phone numbers, especially when the intended or perceived audience is international (ie. on the web), that will break when cleaned up using your rather simplistic mechanism.

As an example, note the number in the sample code below that begins +44(0).... in which the +44 is the country code for the UK, but the bracketed zero is there to indicate that the remaining digits of the number must be prefixed by zero if dialled from within the UK. Simply stripping the non-digits from the number will result in an invalid number no matter where it is dialled. I am not sure if anyone in the US uses this convention, but it is fairly common in Europe.

#! perl -slw use strict; my @fields = ( '1234', '01234567890', 'abcd1234xy', '012 345 6789', '+44(0)1234 567890', ); for (@fields) { (my $new = $_) =~ s[\D+][]g; print "Old:'$_' New:'$new'??" if length $new != 4 and length $new != 10; }

Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.

In reply to Re: Character Counts by BrowserUk
in thread Character Counts by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.