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.