The Perl x86 Disassembler is a full x86 disassembler written in Perl, independent of objdump. The Perl script makes use of the opcode tables from libdisasm [derived from the bastard project] and is distributed as part of libdisasm. This is the same script that is included in the Perl-Disassembler-HOWTO; either the HOWTO or the libdisasm distribution will provide the required files [x86disasm.pl and 1386.opcodes.map] and documentation.
The bastard disassembler is a disassembler written for x86 ELF targets on Linux. Other file formats/CPUs can be 'plugged in'. It has a command-line interface and is meant to be used as a backend or engine. Support for controlling the disassembler via pipes is provided. Note that this disassembler does not rely on libopcodes to do its disassembly. Rather, the 'libi386' plugin is a standard .so that can be reused by other projects.