in reply to Re^2: Pack uneven length hex
in thread Pack uneven length hex

I was hoping there's a clever way to work with parameters in pack() itself, which would change it's behavior to pad left side

Not sure that it can be classified as "clever", but if you "scalar reverse()" twice, it seems to produce the correct result (for your given example, at least) :
print scalar reverse unpack "H*", pack("H*", scalar reverse "a12");
Cheers,
Rob