App-GrepUtils
view release on metacpan or search on metacpan
script/grep-nonblank-clipboard view on Meta::CPAN
#!perl
use 5.010001;
use strict;
use warnings;
#use Log::ger;
use Clipboard::Any ();
use Getopt::Long;
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2026-07-16'; # DATE
our $DIST = 'App-GrepUtils'; # DIST
our $VERSION = '0.007'; # VERSION
our %Opts = (
clipboard_manager => undef,
tee => 0,
);
sub parse_cmdline {
Getopt::Long::Configure('auto_abbrev', 'pass_through');
my $res = GetOptions(
'version|V' => sub {
no warnings 'once';
say "grep-terms version ", ($main::VERSION // 'dev');
exit 0;
},
'help' => sub {
print <<USAGE;
Usage:
grep-nonblank-clipboard [OPTIONS | FILES]...
grep-nonblank-clipboard --help
grep-nonblank-clipboard --version|-V
Options:
--clipboard-manager=s
--tee
Examples:
% grep-nonblank-clipboard
For more details, see the manpage/documentation.
USAGE
exit 0;
},
'clipboard-manager=s' => \$Opts{clipboard_manager},
'tee' => \$Opts{tee},
);
exit 99 if !$res;
}
sub run {
my $res;
$res = Clipboard::Any::get_clipboard_content(clipboard_manager=>$Opts{clipboard_manager});
die "Can't get clipboard content: $res->[0] - $res->[1]\n"
unless $res->[0] == 200;
my $text = $res->[2];
my @res;
for (split /^/m, $text) {
push @res, $_ if /\S/;
}
$res = Clipboard::Any::add_clipboard_content(clipboard_manager=>$Opts{clipboard_manager}, content=>join("", @res));
die "Can't add clipboard content: $res->[0] - $res->[1]\n"
unless $res->[0] == 200;
print @res if $Opts{tee};
}
# MAIN
parse_cmdline();
run();
1;
# ABSTRACT: Remove blank lines in clipboard content
# PODNAME: grep-nonblank-clipboard
__END__
=pod
=encoding UTF-8
=head1 NAME
grep-nonblank-clipboard - Remove blank lines in clipboard content
=head1 VERSION
This document describes version 0.007 of grep-nonblank-clipboard (from Perl distribution App-GrepUtils), released on 2026-07-16.
=head1 SYNOPSIS
% grep-nonblank-clipboard [OPTIONS | FILES]...
% grep-nonblank --help
% grep-nonblank --version|-V
Examples:
% grep-nonblank-clipboard
=head1 DESCRIPTION
This is simply a shortcut for:
% clipget | grep-nonblank | clipadd
which is itself a shortcut for:
% clipget | perl -ne 'print if /\S/' | clipadd
to save some typing.
=head1 EXIT CODES
0 on success.
255 on I/O error.
99 on command-line options error.
=head1 OPTIONS
=head1 FAQ
=head1 HOMEPAGE
Please visit the project's homepage at L<https://metacpan.org/release/App-GrepUtils>.
=head1 SOURCE
Source repository is at L<https://github.com/perlancar/perl-App-GrepUtils>.
=head1 SEE ALSO
L<grep-nonblank-clipboard>
=head1 AUTHOR
perlancar <perlancar@cpan.org>
=head1 CONTRIBUTING
To contribute, you can send patches by email/via RT, or send pull requests on
GitHub.
Most of the time, you don't need to build the distribution yourself. You can
simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally on your
system), you can install L<Dist::Zilla>,
L<Dist::Zilla::PluginBundle::Author::PERLANCAR>,
L<Pod::Weaver::PluginBundle::Author::PERLANCAR>, and sometimes one or two other
Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond
that are considered a bug and can be reported to me.
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=head1 BUGS
Please report any bugs or feature requests on the bugtracker website L<https://rt.cpan.org/Public/Dist/Display.html?Name=App-GrepUtils>
When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.
=cut
( run in 2.003 seconds using v1.01-cache-2.11-cpan-81fc1098f69 )