Your subroutine never inserts anything into an array, so nothing is returned by report() and stored in @array. Also, while your reverse-chop-reverse may be good kung-fu, it's much easier to substr($line,1,8) to get rid of the '#' at the beginning. Further, the substr means you don't need the chomp.
use strict; use warnings; my $path = "/efsprod/docmnt/"; my @array = &report(); foreach my $line (@array) { $line = $path . $line; print "$line\n"; } sub report() { open(F,"Textfile.txt") or die "$!\n"; my (@filelist); while(<F>) { push @filelist, substr($_,1,8); } return @filelist; }
Update(s): add path to array elements, not just to print statement. Remembered after that foreach aliases placeholder with array elements so we don't have to replace with C-style for.
|
|---|