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;

In reply to Re: Can't write values from sorted array of structs by tobyink
in thread Can't write values from sorted array of structs by maschwarz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":