@songs=grep(/(.mp3)|(.MP3)|(.mP3)|(.Mp3)/,@songs);
That's a good spot to use the /i regex modifier, which specifies case-insensitive matching:
@songs = grep /\.mp3$/i, @songs
Escaping the period and adding the $ anchor are important to make sure you don't match files like 'abcmp3' or 'foo.mp3.txt'.