The formline function can be used to do this - The formline function is normally only used internally but allows for formats to be built and returned in the format output accumulator, $^A. Normally, the contents of this variable are outputted to the currently selected filehandle via the write command, but this variable, $^A, can be read and reset directly.
An example from a previous node which I have written on the subject:
my @list = (1, 2);
# the output format can be stored in a variable prior to
# output
my $format = '@<<<< @<<<<';
# format the contents of @list as per the format structure
# defined in the variable $format, the output to be
# stored in the format output accumulator, $^A
formline $format, @list;
print $^A, "\n";
$^A = "";
Thus in this manner, through use of the formline function, both the output format and the subsequent formatted output can be retrieved and stored - This method is advantageous in that it can be employed with older installations of Perl. For further information see formline and perlform.
perl -le 'print+unpack("N",pack("B32","00000000000000000000001001010100"))' | [reply] [d/l] [select] |