http://www.yes24.com/24/goods/4433208
이 책은 Learning Perl 5판 의 번역서이며 @keedi, @kiseok7, @saillinux 님에 의해 번역되었습니다.
개인적으로 이책에 대한 비평을 https://github.com/aero/perl_docs/wiki/Learning-perl-5th-review 에 올리고 있으니 같이 보시면 도움이 되실겁니다.
perfdata in array -> iteration ( parse, write ) [ @perfdata ] [ processdata(@perfdata) ]
processdata(@perfdata); debug( 5, 'INSERT nagiosgraph exited' );
perfdata in array -> split array into N -+-> array 0 -> iteration ( parse, write ) +-> array 1 -> iteration ( parse, write ) +-> . -> iteration ( parse, write ) +-> array N-1-> iteration ( parse, write )
use Parallel::Forker; my $fork = Parallel::Forker->new; $SIG{CHLD} = sub { Parallel::Forker::sig_child($fork); }; $SIG{TERM} = sub { $fork->kill_tree_all('TERM') if $fork && $fork->in_parent; die "Quitting...\n"; }; my $n = 4; my @n_perfdata; my $size = int(@perfdata/$n); foreach ( 0 .. $n-1 ){ $n_perfdata[$_] = [ splice @perfdata, 0, $size ]; } push @{$n_perfdata[$n-1]}, @perfdata; foreach ( 0..$#n_perfdata ) { $fork->schedule ( name => $_, run_on_start => \&child_sub )->run; } $fork->wait_all(); debug( 5, 'INSERT nagiosgraph exited' ); sub child_sub { processdata( @{ $n_perfdata[ $_[0]{name} ] } ); }
#!/usr/bin/env perl use strict; use warnings; use Sys::Statistics::Linux::SysInfo; my $lxs = Sys::Statistics::Linux::SysInfo->new; my $info = $lxs->get; print "$_ : $info->{$_}\n" for keys %$info;