There wasn't much input you supplied, so I made assumptions that all numbers will be in either one or two of those formats. I'll leave it up to you to hack as necessary to handle other formats (I left the else-if open). Also, I'll leave the exercise of changing the input file from __DATA__ to an actual file, but the open for writing line should help

#!/usr/bin/perl use warnings; use strict; open my $fh, '+>', 'output.txt' or die("Can't open the damn file!: $!"); while(my $line = <DATA>){ chomp $line; my ($name, $num) = split(/\s+(?=\d)/, $line); # some lines have whitespace after the num $num =~ s/\s+//g; if ($num =~ /^\d{4}$/){ $num = "(333)-321-$num"; } elsif ($num =~ /^\d{3}-\d{4}$/){ $num = "(333)-$num"; } print $fh "$name $num\n"; } __DATA__ Black, Joe 0987 Smith, Sue 0534 Brown, Andy 587-0986

Output:

$ cat output.txt Black, Joe (333)-321-0987 Smith, Sue (333)-321-0534 Brown, Andy (333)-587-0986

-stevieb


In reply to Re: total noob trying to format a phone list by stevieb
in thread trying to format a list by sonikd

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.