I prefer 2teez's solution; it's the way to do it. But you specified that it should be done with one or more calls to split.

It's usually a better practice when asking for help here to explain what you've tried, and how it's failing, but not to dictate what tools a proper solution should employ. You're likely to get more elegant solutions if you don't limit people such. Nevertheless, if one or more calls to split is the solution you would prefer, you could do something like this:

use strict; use warnings; use feature qw( say ); # Warning: Big slurp! ;) say for map { ( split /\s/, $_, 2 )[0] } # 3: split on whitespace. map { ( split /:/, $_, 5 )[4] } # 2: split on colons. <DATA>; # 1: auto-split on newlines. __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

Dave


In reply to Re: Help to split by davido
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":



  • 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.