Alien-Selenium
view release on metacpan or search on metacpan
my $tofile = catfile($todir, "Selenium.pm");
unlink($tofile);
my $infd = new IO::File($from, "<") or
die "Cannot open $from for reading: $!";
my $text = join('', <$infd>);
$infd->close();
my $version = $self->option_value("selenium_version");
$text =~ s|^our.*\$SELENIUM_VERSION.*$|our \$SELENIUM_VERSION = '$version';|m;
my $outfd = new IO::File($tofile, ">") or
die "Cannot open $tofile for writing: $!";
($outfd->print($text) &&
$outfd->close()) or
die "Cannot write to $tofile: $!\n";
}
=head2 fetch_selenium
As the name implies, fetches Selenium over the interweb. Does nothing
if the Selenium zipball is already here.
inc/IPC/Cmd.pm view on Meta::CPAN
### IPC::Run::run emulator, using IPC::Open3.
sub _open3_run {
my ($cmdref, $_out_handler, $_err_handler, $verbose) = @_;
my @cmd = @$cmdref;
### Following code are adapted from Friar 'abstracts' in the
### Perl Monastery (http://www.perlmonks.org/index.pl?node_id=151886).
my ($infh, $outfh, $errfh); # open3 handles
my $pid = eval {
IPC::Open3::open3(
$infh = Symbol::gensym(),
$outfh = Symbol::gensym(),
$errfh = Symbol::gensym(),
@cmd,
)
};
return (undef, $@) if $@;
my $sel = IO::Select->new; # create a select object
$sel->add($outfh, $errfh); # and add the fhs
STDOUT->autoflush(1); STDERR->autoflush(1);
$outfh->autoflush(1) if UNIVERSAL::can($outfh, 'autoflush');
$errfh->autoflush(1) if UNIVERSAL::can($errfh, 'autoflush');
while (my @ready = $sel->can_read) {
foreach my $fh (@ready) { # loop through buffered handles
# read up to 4096 bytes from this fh.
my $len = sysread $fh, my($buf), 4096;
if (not defined $len){
# There was an error reading
warn loc("Error from child: %1",$!);
return(undef, $!);
}
elsif ($len == 0){
$sel->remove($fh); # finished reading
next;
}
elsif ($fh == $outfh) {
$_out_handler->($buf);
} elsif ($fh == $errfh) {
$_err_handler->($buf);
} else {
warn loc("%1 error", 'IO::Select');
return(undef, $!);
}
}
}
t/maintainer/dependencies.t view on Meta::CPAN
=head2 @pervasives
The list of modules that can be assumed to always be present
regardless of the version of Perl, and need not be checked for. By
default only pragmatic modules (starting with a lowercase letter) and
modules that already were in 5.000 according to L<Module::CoreList>
are listed.
=cut
our @pervasives = qw(base warnings strict overload utf8 vars constant
Config Exporter Data::Dumper Carp
Getopt::Std Getopt::Long
DynaLoader ExtUtils::MakeMaker
POSIX Fcntl Cwd Sys::Hostname
IO::File IPC::Open2 IPC::Open3
File::Basename File::Find
UNIVERSAL);
=head2 @maintainer_dependencies
( run in 0.242 second using v1.01-cache-2.11-cpan-4d50c553e7e )