in reply to Returning a list from a sub

The return value of a sub in Perl is the value of the last expression, or you can explicitly use a return statement. In this case, since there's only path through the sub, you can just do:

close(OUT); @List; }
or to make things explicit:
close(OUT); return @List; }
Whichever you prefer.

However, there are a couple of other improvements in your code which would make it simpler, easier, and more general.

Putting all these together, your loop becomes:
while (<IN>) { s/,//; @Fields = split ' '; $Lable = $Fields[-2]; #sic -- should be "Label" $Slot = $Fields[2]; # You never set $Type, so the next line will get # a "use of undefined value" warning. push @List, "$Slot $Type $Lable"; } # You also never write anything to OUT

HTH