in reply to Why does 'print shift sort @array' not work?

shift requires an array. sort doesn't return an array. (An array can't be even be returned by subs or functions.)

Solution:

print( (sort @array)[0] );

Or if you were assigning to a scalar,

my ($first) = sort @array;

Update: Why sort at all?

use List::Util qw( minstr ); print( minstr @array );