http://qs321.pair.com?node_id=968779


in reply to First time using Args

You want to explicitly read from STDIN, not the magical ARGV, which only reads from STDIN if no argument are given (or to be precise, if @ARGV is empty). Replace your <> with <STDIN>.

And as a general advice: avoid write tools that ask the user questions: arguments are more flexible, as it makes piping and scripting easier. Imagine that each time you would run perl from the command line, it starts with:

$ perl Do you want to enable warnings? [y/N] n Do you want to loop over the input? [y/N] y You want to loop over the input. Print $_ each time? [y/N] ... 40 questions later ... Please type your one-liner, ending with a newline