Text-Bidi
view release on metacpan or search on metacpan
bin/fribidi.pl view on Meta::CPAN
our %Opts = ('width=i' => \$width);
GetOptions(\%Opts, qw(break:s rtl! ltr! levels! hex! dir! ltov! types! verbose! width=i));
$Opts{'break'} = ' ' if defined($Opts{'break'}) and ($Opts{'break'} eq '');
if ($Opts{'verbose'}) {
$Opts{$_} = 1 foreach (qw(levels dir ltov types hex));
}
# read paragraphs (and make perlcritic happy with 'local')
local $/ = '';
my $flags;
$flags = { break => $Opts{'break'} } if defined $Opts{'break'};
my $dir = $Opts{'rtl'} ? $Text::Bidi::Par::RTL
: $Opts{'ltr'} ? $Text::Bidi::Par::LTR : undef;
while (<>) {
chomp;
s/ *\n */ /g;
my ($p, $visual) = log2vis($_, $width, $dir, $flags);
say $visual;
say '';
( run in 0.290 second using v1.01-cache-2.11-cpan-49f99fa48dc )