Se per aprire un file usi la forma:

open (FILE, "<$file");

allora devi usare:
open (FILE, "<$file");
$c->send_file( fileno(FILE) );

se usi la tua forma allora:
open my $fh1, '<', $song or die "open(): $!\n";
$c->send_file( $fh1 );

le funzioni sys... funzionano a più basso livello delle corrispondenti funzioni, quindi dipende da quello che devi fare.