There's this module
Imager::QRCode which generates two dimensional QR codes, I am not aware if it has code 128 capabilities for one dimensional barcodes but it seems easy and so intuitive to use, you may need to install
Getopt::Std, check this
overview and
the CPAN.
For general scanning of barcodes there's an open-source library in java called
ZXing which has support for the code 128 among others.
Excellence is an Endeavor of Persistence.
Chance Favors a Prepared Mind.