Arabic
view release on metacpan or search on metacpan
lib/Earabic.pm view on Meta::CPAN
51095110511151125113511451155116511751185119512051215122512351245125512651275128#
# escape regexp (m//, qr//)
#
sub
e_qr {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
55905591559255935594559555965597559855995600560156025603560456055606560756085609#
# escape regexp (m'', qr'', and m''b, qr''b)
#
sub
e_qr_q {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
57645765576657675768576957705771577257735774577557765777577857795780578157825783#
# escape regexp (s/here//)
#
sub
e_s1 {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
62276228622962306231623262336234623562366237623862396240624162426243624462456246#
# escape regexp (s'here'' or s'here''b)
#
sub
e_s1_q {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
642864296430643164326433643464356436643764386439644064416442644364446445644664476448#
# escape regexp (s/here/and here/modifier)
#
sub
e_sub {
my
(
$variable
,
$delimiter1
,
$pattern
,
$end_delimiter1
,
$delimiter2
,
$replacement
,
$end_delimiter2
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
if
(
$variable
eq
''
) {
$variable
=
'$_'
;
lib/Earabic.pm view on Meta::CPAN
66126613661466156616661766186619662066216622662366246625662666276628662966306631#
# escape regexp of split qr//
#
sub
e_split {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
69846985698669876988698969906991699269936994699569966997699869997000700170027003#
# escape regexp of split qr''
#
sub
e_split_q {
my
(
$ope
,
$delimiter
,
$end_delimiter
,
$string
,
$modifier
) =
@_
;
$modifier
||=
''
;
$modifier
=~
tr
/p//d;
if
(
$modifier
=~ /([adlu])/oxms) {
my
$line
= 0;
for
(
my
$i
=0;
my
(
$package
,
$filename
,
$use_line
,
$subroutine
) =
caller
(
$i
);
$i
++) {
if
(
$filename
ne __FILE__) {
$line
=
$use_line
+ (CORE::
substr
(
$_
,0,
pos
(
$_
)) =~
tr
/\n//) + 1;
last
;
}
}
die
qq{Unsupported modifier "$1" used at line $line.\n}
;
}
$slash
=
'div'
;
lib/Earabic.pm view on Meta::CPAN
7100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154
}
$modifier
=~
tr
/i//d;
return
join
''
,
'Earabic::split'
,
$ope
,
$delimiter
,
@char
,
$end_delimiter
,
$modifier
;
}
#
# instead of Carp::carp
#
sub
carp {
my
(
$package
,
$filename
,
$line
) =
caller
(1);
STDERR
"@_ at $filename line $line.\n"
;
}
#
# instead of Carp::croak
#
sub
croak {
my
(
$package
,
$filename
,
$line
) =
caller
(1);
STDERR
"@_ at $filename line $line.\n"
;
die
"\n"
;
}
#
# instead of Carp::cluck
#
sub
cluck {
my
$i
= 0;
my
@cluck
= ();
while
(
my
(
$package
,
$filename
,
$line
,
$subroutine
) =
caller
(
$i
)) {
push
@cluck
,
"[$i] $filename($line) $package::$subroutine\n"
;
$i
++;
}
STDERR CORE::
reverse
@cluck
;
STDERR
"\n"
;
STDERR
@_
;
}
#
# instead of Carp::confess
#
sub
confess {
my
$i
= 0;
my
@confess
= ();
while
(
my
(
$package
,
$filename
,
$line
,
$subroutine
) =
caller
(
$i
)) {
push
@confess
,
"[$i] $filename($line) $package::$subroutine\n"
;
$i
++;
}
STDERR CORE::
reverse
@confess
;
STDERR
"\n"
;
STDERR
@_
;
die
"\n"
;
}
1;
( run in 1.171 second using v1.01-cache-2.11-cpan-94b05bcf43c )