in reply to how can this be improved?

The only thing I see that others have not mentioned falls into the 'never trust user input' category:
my $sequence_number = shift || die "cinnamon: sequence number needed as argument\n"; open (ERROR, "/usr/bin/errpt -g -l $sequence_number |");
You're passing whatever the first parameter is directly to the open, and you're not checking to see if the open failed. Here's a modification with a little more paranoid error checking.
my $sequence_number = shift; unless ($sequence_number =~ /^\d+$/) { # I am assuming it must be a number die "cinnamon: sequence number needed as argument\n"; } open (ERROR, "/usr/bin/errpt -g -l $sequence_number |") || die "couldn +'t open errpt: $!";

/\/\averick
perl -l -e "eval pack('h*','072796e6470272f2c5f2c5166756279636b672');"

Replies are listed 'Best First'.
Re: Re: how can this be improved?
by blueflashlight (Pilgrim) on Aug 21, 2001 at 22:04 UTC
    excellent catch! thank you ... I'll ensure that the argument is validated.