Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Hi semenych,
"...tell me about my mistakes..."

  • First of all, it good practice to use strict and warnings in your scripts.
  • Using the open function in Perl, you should always check the return, in case it fails. The same should goes for the close function
"...and help me this my work.."
After your file was opened, using a "while" loop read your file one at a time. Then use regex, "pick out" the portion of the line you wanted like so:
use warnings; use strict; while (<DATA>) { chomp; print $1, $/ if /:(\w+?)\s\w+?,/; } __DATA__ bsulli03:*:32452:5002:barry sullivan,l230,555-6666,:/students/bsulli03 +:/usr/bin/ksh sbarto22:*:32453:7990:sally bartok,l134,444-3333,:/students/sbarto22:/ +usr/bin/ksh sbarto25:*:32453:7990:sparky bartok,l135,444-4444,:/students/sbarto25: +/usr/bin/ksh sbarto35:*:32453:7990:sammy bartok,l137,444-5555,:/students/sbarto35:/ +usr/bin/ksh sdemar03:*:32454:7990:sally demartra,S23,233-5234,:/students/sdemar03: +/usr/bin/ksh sdemar05:*:32454:7990:bill demartra,l123,555-1234,:/students/sdemar05: +/usr/bin/ksh singl04:*:32455:5002:bart singleton,l134,555-1235,:/students/singl:/us +r/bin/ksh gomez:*:32456:7990:bill gomez,l433,535-6666,:/students/gomez:/usr/bin/ +ksh bolde01:*:32457:7990:bart bolden,l444,444-1234,:/students/bolde:/usr/b +in/ksh reaga09:*:32458:7990:cal reagan,l455,333-1234,:/students/reaga:/usr/bi +n/ksh liu44:*:32460:5002:tom liu,s213,222-1234,:/students/liu:/usr/bin/ksh ulano:*:32462:7990:sally ulanouskay,s233,222-9999,:/students/ulano:/us +r/bin/ksh tran56:*:32463:5002:phuong tran,s111,444-8888,:/students/tran:/usr/bin +/ksh mehr:*:32464:5003:cindy mehr,c113,555-8888,:/students/mehr:/usr/bin/ks +h ramos:*:32449:7990:olivo ramos,l454,999-0000,:/students/ramos:/usr/bin +/ksh brown:*:32459:7990:bart bro,l477,888-7654,:/students/brown:/usr/bin/ks +h mojic:*:32461:7990:celia mojica,c242,555-7654,:/students/mojic:/usr/bi +n/ksh fisher:*:2915:208:cindy fisher,l312,478-0371,:/users/fisher:/usr/bin/k +sh bsulli02:*:32452:5002:bart sullivan,l130,555-5555,:/students/bsulli02: +/usr/bin/ksh
Note:Am assuming that the first names are the names that come first in the full names.
Output:
barry sally sparky sammy sally bill bart bill bart cal tom sally phuong cindy olivo bart celia cindy bart

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

In reply to Re: Help to split by 2teez
in thread Help to split by semenych

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-23 07:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found