#!/usr/bin/perl -l sub gen_arr { my $inner =shift; print my $outer = \"foo$inner"; # still a literal but not constant anymore return $outer; } gen_arr gen_arr; #### Use of uninitialized value $inner in concatenation (.) or string at /tmp/tst2.pl line 6. SCALAR(0x912c760) SCALAR(0x912c9d0)