in reply to pass subroutine value to scalar

The subroutine as your have coded it doesn't actually have a meaningful return value. The problem is that the "system" command does not capure the output text of the command. Perl has a different operator for that:
sub ctrl { return qx/xmmsctrl print %T/; } my $ctrl = ctrl();
The qx operation could also be written using backticks:
sub ctrl { return `xmmsctrl print %T`; }
--Dave
Opinions my own; statements of fact may be in error.