Use of uninitialized value $time in concatenation (.) or string at ks.pl line 253. Use of uninitialized value in concatenation (.) or string at ks.pl line 258. Use of uninitialized value in concatenation (.) or string at ks.pl line 258. Use of uninitialized value in concatenation (.) or string at ks.pl line 258. Use of uninitialized value in concatenation (.) or string at ks.pl line 258. Character in 'c' format wrapped in pack at ks.pl line 262. Use of uninitialized value $time in concatenation (.) or string at ks.pl line 283. #### #!/usr/bin/perl -w use strict; use Getopt::Std; ... # Don't want END block to execute when these are invoked: sub HELP_MESSAGE(); # getopts() --help automatically invokes VERSION_MESSAGE() first sub VERSION_MESSAGE(); # getopts() supports arguments --version and --help sub usage(); ... INIT { $| = 1; # Make Getopt::Std exit after printing # VERSION_MESSAGE() and/or HELP_MESSAGE() $Getopt::Std::STANDARD_HELP_VERSION = 1; } ...By design, main-line code comes to this END block: # An END block is always executed (barring some exceptions) as # late as possible, even after die() is called END { export_to_file_csv(); export_to_storable(); warn "Pages : $pages of Total Pages: $total_pages"; warn "Projs : $projs of Total Projs: $total_projs"; warn sprintf ("Images: %d amounting to bytes: %s", $imgs, $bytes)); } # END OF PROGRAM (normal or otherwise).