App-Bernard
view release on metacpan or search on metacpan
lib/App/Bernard/Magic/Fuzzaccept.pm view on Meta::CPAN
sub new {
return bless {};
}
sub handle {
my ($self, $settings) = @_;
if ($settings->{'output'}) {
open OUTPUT, ">$settings->{'output'}"
or die "Can't open $settings->{'output'}: $!";
binmode OUTPUT, ":utf8";
}
$settings->{'print'} = sub {
my ($text) = @_;
if ($settings->{'output'}) {
print OUTPUT $text;
} else {
print $text;
}
};
my $rebuilder = Locale::PO::Callback::rebuilder($settings->{'print'});
my $filter = sub {
my ($element) = @_;
lib/App/Bernard/Magic/Single.pm view on Meta::CPAN
if ($settings->{'inplace'}) {
rename $settings->{'output'}, $settings->{'input'};
}
}
sub handle {
my ($self, $settings) = @_;
if ($settings->{'output'}) {
open OUTPUT, ">$settings->{'output'}"
or die "Can't open $settings->{'output'}: $!";
binmode OUTPUT, ":utf8";
}
$settings->{'print'} = sub {
my ($text) = @_;
if ($settings->{'output'}) {
print OUTPUT $text;
} else {
print $text;
}
};
die "File $settings->{'input'} does not exist\n" unless -e $settings->{'input'};
my ($pkg, $mimetype) = package_from_filetype($settings->{'input'});
# TODO: Probably should query the package
# about whether it accepts --in-place
lib/App/Bernard/Magic/Single.pm view on Meta::CPAN
$filename =~ s!::!/!g;
require "$filename.pm";
};
if ($@) {
die "$settings->{'file'} is of type $mimetype, which we cannot handle.\n";
}
$pkg->handle(scalar(read_file($settings->{'input'})),
$settings);
close OUTPUT
or die "Can't close $settings->{'output'}: $!"
if $settings->{'output'};
if ($settings->{'check'}) {
my $result =
system "msgfmt -c $settings->{'output'} -o /dev/null";
if ($result != 0) {
die "Check failed; aborting\n";
}
( run in 0.295 second using v1.01-cache-2.11-cpan-4e96b696675 )