$ export PERL5LIB=$HOME/priv/lib $ perl -My=mail,A,:date,frob -le '...' Unimplemented at -e line 1. #### perl -le 'print scalar localtime pop' 1468404921 perl -My -le 'plt pop' 1468404921 #### package y; use strict; use warnings; my $callpack = caller; eval <<"EOH"; package $callpack; use Data::Dumper; use B::Deparse; use Devel::Peek; # other modules... EOH #### { my $append = 0; my (@lines,$line,$saveout); CHECK { if ($append) { print STDOUT"}\n\n",@lines; open STDOUT, '>&', $saveout or die "Can't restore STDOUT: $!\n"; exec "vi +$line ". __FILE__; } } sub import{ shift; if (@_ && $_[0] eq 'append'){ $append = shift; my $func = shift || die "need function name to append.\n"; open $saveout, '>&', STDOUT or die "Can't dup STDOUT: $!\n"; open STDOUT, '+<', __FILE__; seek DATA,0,0; while() { last if /^"foo";$/} $line = $.; my $pos = tell(DATA) -7; @lines = ($_,); seek STDOUT, $pos, 0; print "sub $func {\n"; require O; O->import('Deparse'); }else{ no strict 'refs'; my $caller = caller; for(@_?@_: keys %y::){ next if /__ANON__/; *{$caller."::$_"}=\&$_; } } } } #### perl -My=append,stime -e 'my$t=localtime(shift||time);$t' #### sub stime { my $t = localtime(shift @ARGV || time); $t; } #### my($m,$z); $m=pack"B32",pop=~'/'x$'; printf"$` network %vd broadcast %vd netmask %vd\n",($z=eval$`)&$m,$z|~$m,$m