App-CommonSuffixUtils
view release on metacpan or search on metacpan
script/strip-common-suffix view on Meta::CPAN
#!perl
use 5.010001;
use strict;
use warnings;
use Getopt::Long;
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2024-05-16'; # DATE
our $DIST = 'App-CommonSuffixUtils'; # DIST
our $VERSION = '0.001'; # VERSION
my %Opts = (
);
sub parse_cmdline {
Getopt::Long::Configure("gnu_getopt", "no_ignore_case");
my $res = GetOptions(
'version|v' => sub {
print "strip-common-suffix version ", ($main::VERSION // 'dev'), "\n";
exit 0;
},
'help|h' => sub {
print <<TEXT;
Usage:
strip-common-suffix [OPTIONS]... [INPUT [OUTPUT]]
strip-common-suffix --version, -v
strip-common-suffix --help, -h
Options:
For more details, see the manpage/documentation.
TEXT
exit 0;
},
);
exit 99 if !$res;
}
sub run {
require String::CommonSuffix;
chomp(my @lines = <>);
my $suffix = String::CommonSuffix::common_suffix(@lines);
for (@lines) { s/\A\Q$suffix\E// }
say for @lines;
}
# MAIN
parse_cmdline();
run();
1;
# ABSTRACT: Strip common suffix from each line of input
# PODNAME: strip-common-suffix
__END__
=pod
=encoding UTF-8
=head1 NAME
strip-common-suffix - Strip common suffix from each line of input
=head1 VERSION
This document describes version 0.001 of strip-common-suffix (from Perl distribution App-CommonSuffixUtils), released on 2024-05-16.
=head1 SYNOPSIS
strip-common-suffix [OPTION]... [INPUT]
Sample input:
1foo
23foo
foo
xxxxfoo
Sample output:
1
23
xxxx
=head1 DESCRIPTION
=head1 EXIT CODES
0 on success.
255 on I/O error.
99 on command-line options error.
=head1 OPTIONS
=over
=back
=head1 FAQ
=head1 HOMEPAGE
Please visit the project's homepage at L<https://metacpan.org/release/App-CommonSuffixUtils>.
=head1 SOURCE
Source repository is at L<https://github.com/perlancar/perl-App-CommonSuffixUtils>.
=head1 SEE ALSO
L<strip-common-suffix>
Other utilities in L<App::CommonSuffixUtils>
=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:
( run in 1.361 second using v1.01-cache-2.11-cpan-39bf76dae61 )