http://www.perlmonks.org?node_id=16182


in reply to MP3 server with IO::Socket

There seems to be a minor issue with the open Statement in Line 55.
If you write it as open( PLAYLIST, "<playlist.m3u" ) || die "Can't open playlist: $!";, it will do what you mean. In its current form it evaluates to open PLAYLIST, ("playlist.m3u" || die);, I think.

The print doesn't return 0, for me it returns undef, so I changed line 118 to unless( defined( $print_status )) to get rid of "uninitialized value"

Thanks for sharing this nice code, btw! :-)

-- bash$ :(){ :|:&};:

Replies are listed 'Best First'.
RE: RE: MP3 server with IO::Socket
by perlmonkey (Hermit) on Jun 04, 2000 at 07:08 UTC
    Thanks for your comments. I was surprised, but you seem to be correct on the open statement. In the perlopentut document the two different syntax's used are:
    open FILE, "foo.txt" or die $!; #or open(FILE, "foo.txt") || die $!;
    I did not realize that perl would parse 'or' and '||' differently.

    As for the print, you are also correct, but fortunately my logic still worked. print returns undef if it failed, but the logic still held because if you use the numeric operator '==' on undef it is equivalent to 0. So this code will work: print "hello\n" if undef == 0; But I modified the code as you suggested to be more explicit.