SI/tools.pm
changeset 7 03ca6d811a17
parent 3 1b975c58c5bf
child 9 1a6f6cfc46ea
child 10 23dd30396607
equal deleted inserted replaced
6:df6ca24871d4 7:03ca6d811a17
     1 package SI::tools;
     1 package SI::tools;
     2 
     2 
     3 use strict;
     3 use strict;
     4 use warnings;
     4 use warnings;
     5 use base "Exporter";
     5 use base "Exporter";
     6 our @EXPORT = qw(&run);
     6 our @EXPORT = qw(&run &verbose);
       
     7 use if $ENV{DEBUG} ~~ /tools|all/ => "Smart::Comments";
     7 
     8 
     8 sub run(@) {
     9 sub run(@) {
     9 	system(@_);
    10 	system(@_);
    10 	die "$_[0] failed with exit code " . $? >> 8 . "\n"
    11 	die "$_[0] failed with exit code " . $? >> 8 . "\n"
    11 	if $?;
    12 	if $?;
    12 }
    13 }
    13 
    14 
       
    15 my $last = "\n";
       
    16 sub verbose(@) { 
       
    17     print $last eq "\n" ? "" : " "
       
    18 	if not(@_ == 1 and length($_[0]) == 1);
       
    19     print @_;
       
    20     $last = substr($_[-1], -1, 1);
       
    21 };
       
    22 
    14 1;
    23 1;
    15 # vim:sts=4 sw=4 aw ai si:
    24 # vim:sts=4 sw=4 aw ai si: