in reply to Can't write values from sorted array of structs
This is your biggest issue:
use Class::Struct; package Carrier_Info;
You want:
package Carrier_Info; use Class::Struct;
Why? Because the struct "keyword" isn't a keyword in the sense of the Perl keyword API; it's not lexically scoped. It's a sub exported to a package, and by importing it before your package statement, you're exporting it outside your package (probably into main) instead of into your package.
Better yet, leave the package Carrier_Info; part out entirely. It's not needed, and seems to suggest you think you need to define the Carrier_Info package yourself; the whole point of using Class::Struct is to allow it to define the Carrier_Info package for you!
Lesser issue (because while it stops your code from working, it's not a syntax error), but still an issue:
my $ppp = $xyz->{name};
You want:
my $ppp = $xyz->name;
|
|---|