Perl: Getting $ARGV's to operate like while(<>)

I have a script that asks a bunch of questions using the following method for input:

print "Name:"; 
while(<>){ 
    chomp; 
    $name=$_; 
}

So for example, if the questions asked for name, age, & color (in that order)... I want to be able to easily convert $ARGV[0] into the input expected by <>.

So, just for clarification, the user can run the script as is, answer a bunch of questions, and be done... OR they can know the order of the questions, and put answers to as many as they want in the command line arguments

Irony is that Im asking if there is a way to place $ARGV[0] inside the <> instead of letting <> try to read the file specified by $ARGV[0] like it does by default

You can probably test if you receive any command-line arguments. If so, then read using cmdline arguments, otherwise read <>. I can think of a way to make a facade that makes <> read from the @ARGV, but I cannot think of much justification for that complexity for the scenarios I can imagine. Let's try with some simpler methods first, then if they don't satisfy your requirements then I tell you how to do it.

Why not use <STDIN> instead of <>? Something like

if(@ARGV) {
   ($name,$age, $color) = @ARGV;
} else {
   print "Name:";
   while(<STDIN>){
       chomp;
       $name=$_;
   }
}