#!/usr/bin/env perl use strict; use warnings; queue("This is: queue(string)\n"); queue('This is: ', "queue(string, string)\n"); queue(\*STDERR, "This is: queue(\\*STDERR, string)\n"); queue(\*STDERR, 'This is: ', "queue(\\*STDERR, string, string)\n"); sub queue { my $Q = ref $_[0] eq 'GLOB' ? shift : \*STDOUT; my @list = @_; $Q->print(@list); return; } #### $ ./pm_11152428_opt_arg.pl This is: queue(string) This is: queue(string, string) This is: queue(\*STDERR, string) This is: queue(\*STDERR, string, string) #### $ ./pm_11152428_opt_arg.pl 2>/dev/null This is: queue(string) This is: queue(string, string) #### $ ./pm_11152428_opt_arg.pl 1>/dev/null This is: queue(\*STDERR, string) This is: queue(\*STDERR, string, string)