in reply to <> to read command line options?

They use that to read they list of arguments from the command line.

No they don't :) See @ARGV, STDIN, ARGV, readline,
FMTYEWTK About Mass Edits In Perl
Uncommon* but Useful Perl Command Line Options for One-liners
Re^2: perl -pi -e s'/^\s+//'g $file
Beginning Perl (free) Chapter 6: Files and Data
Modern Perl: Chapter 9: Managing Real Programs > Files, Iterator::Diamond/Iterator::Files, magic-diamond <> behavior -- WHAT?!

Replies are listed 'Best First'.
Re^2: <> to read command line options?
by slackcub (Novice) on Aug 16, 2013 at 02:35 UTC

    oh, I figured they should have used @ARGV, but this is a quote from them in the answer:

    my @numbers;
    push @numbers, split while <>;
    foreach (sort { $a <=>$b } @numbers) {
    printf "%20g\n", $_;
    }

    then later in the explanation of the answer:

    The while loop is reading the input one line at a time (from the user’s choice of input sources, as shown by the diamond operator), and split is, by default, splitting that on whitespace to make a list of words—or in this case, a list of numbers. The input is just a stream of numbers separated by whitespace, after all. Either way you write it, then, that while loop will put all of the numbers from the input into @numbers.

    The instructions in the exercise are:

    Write a program to read in a list of numbers and sort them numerically +, printing out the resulting list in a right-justified column. Try it + out on this sample data: 17 1000 04 1.50 3.14159 –10 1.5 4 2001 90210 666

    unless I'm reading it wrong and they actually wanted it in a file. I was assuming it was supposed to be as command line options. That's certainly possible, as I'm still new to all this! ;}

      Yes, it does want the numbers as a file, rather than as command line arguments. If you make a numbers.txt file with all the numbers, then use numbers.txt as the only argument to your program, it does what it's supposed to.

      The diamond operator <> lets you choose what to use for input in the arguments to your program. When you leave it empty, it will wait for user input. With a program like this one, it doesn't tell you that it's waiting for something, which was surprising when I did this exercise myself a couple of months ago :)