Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Just Another Perl Article

by stefan k (Curate)
on Nov 02, 2001 at 15:06 UTC ( [id://122779]=note: print w/replies, xml ) Need Help??


in reply to Just Another Perl Article

Hi :-),
this was a pretty cool read! I learned a lot from it. Thanks.

One question though: I don't really get this little piece of code:

$\ = $/; # ORS = IRS = "\n" $, = ":"; # OFS = "," while (<PASSWD>) { chomp; # removes $/ from $_ my @f = split $,; # splits $_ on occurrences of $, # fool around with @f print MOD @f; }
Why would it put a newline to the end of each line during the print? You say that "$\ goes where you put a \n in your print()" but you're chomp()ing the newlines.

What do I miss here?

Hmm, now looking at it I get even more questionmarks on my forehead:

  1. What's the point of assigning a colon to $, when split doesn't use it by default?
  2. Why do you have to assign $\ with $/? Aren't they supposed to have the same value anyway?
  3. Why don't we have an abbrev like <c> for the code-Tag, since it is really much to type *grin*?

Still, as I said above: good read!

Regards... Stefan
you begin bashing the string with a +42 regexp of confusion

ps: a typo in your article:

$ARGV this holds the input source currently begin read from
should probably be "being read from", er?

Replies are listed 'Best First'.
Re: Re: Just Another Perl Article
by davorg (Chancellor) on Nov 02, 2001 at 15:22 UTC
    • $/ is the input record separator. This is "\n" by default.
    • $\ is the output record separator. This is the empty string by default. Setting it to $/ means that you no longer need to put a "\n" on the end of each print statement.
    • $, is the string that is output between each element of the list passed to print. The default value is the empty string. By setting it to ":" we don't just control the split statement, but also the print statement. The elements of @f are printed separated by ":" characters.

    Does that help? You can get more info on special Perl variables like these in perlvar.

    --
    <http://www.dave.org.uk>

    "The first rule of Perl club is you don't talk about Perl club."

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://122779]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-19 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found