Perl modules in TypeScript
TypeScript implementations of 22 Perl standard library functions across 2 modules. Each function is individually importable and tree-shakeable.
POSIX core- abs
- chomp
- chop
- chr
- hex
- int
- join
- lc
- lcfirst
- length
- ord
- pack
- quotemeta
- reverse
- rindex
- split
- sprintf
- substr
- uc
- ucfirst
We have 22 Perl functions so far - help us add more
Got a rainy Sunday afternoon and a taste for a porting puzzle?
- Get inspiration from the Perl documentation.
- Click "New file" in the appropriate folder on GitHub. This will fork the project to your account, directly add the file to it, and send a Pull Request to us.
We will then review it. If it's useful to the project and in line with our contributing guidelines your work will become part of Locutus and you'll be automatically credited in the authors section accordingly.
Upstream Surface Inventory 22/16355 shipped · 2126 next 0%
Locutus tracks 1002 upstream namespaces for Perl and sorts them into what is already shipped, what we still want, what we intentionally keep, and what still needs a decision.
This inventory now tracks a broader official Perl core-module slice, excluding the wider CPAN ecosystem.
In progress
Shipped (20)
Next
Perl core scalar and string helpers are good portability targets.
-Xacceptalarmatan2bindbinmodeblessbreakcallerchdirchmodchownchrootclasscloseclosedirconnectcontinuecoscryptdbmclosedbmopendefineddeletediedodumpeachendgrentendhostentendnetentendprotoentendpwentendserventeofevalevalbytesexecexistsexitexpfcfcntlfieldfilenoflockforkformatformlinegetcgetgrentgetgrgidgetgrnamgethostbyaddrgethostbynamegethostentgetlogingetnetbyaddrgetnetbynamegetnetentgetpeernamegetpgrpgetppidgetprioritygetprotobynamegetprotobynumbergetprotoentgetpwentgetpwnamgetpwuidgetservbynamegetservbyportgetserventgetsocknamegetsockoptglobgmtimegotogrepindexioctlkeyskilllastlinklistenlocallocaltimelockloglstatmapmethodmkdirmsgctlmsggetmsgrcvmsgsndmynextnooctopenopendirourpackagepipepopposprintprintfprototypepushrandreadreaddirreadlinereadlinkreadpiperecvredorefrenamerequireresetreturnrewinddirrmdirsayscalarseekseekdirselectsemctlsemgetsemopsendsetgrentsethostentsetnetentsetpgrpsetprioritysetprotoentsetpwentsetserventsetsockoptshiftshmctlshmgetshmreadshmwriteshutdownsinsleepsocketsocketpairsortsplicesqrtsrandstatstatestudysubsymlinksyscallsysopensysreadsysseeksystemsyswritetelltelldirtietiedtimetimestruncateumaskundefunlinkunpackunshiftuntieuseutimevaluesvecwaitwaitpidwantarraywarnwrite
Next
Numeric POSIX helpers are strong plain-value portability targets.
abortaccessacosacoshasctimeasinasinhatanatanhAUTOLOADB0B110B1200B134B150B1800B19200B200B2400B300B38400B4800B50B600B75B9600bootstrapBRKINTBUFSIZBUS_ADRALNBUS_ADRERRBUS_OBJERRcbrtCHAR_BITCHAR_MAXCHAR_MINCLD_CONTINUEDCLD_DUMPEDCLD_EXITEDCLD_KILLEDCLD_STOPPEDCLD_TRAPPEDCLOCALclockCLOCKS_PER_SECcloseconstantcopysigncoshCREADcroakCS5CS6CS7CS8CSIZECSTOPBctermidctimecuseridDBL_DIGDBL_EPSILONDBL_MANT_DIGDBL_MAXDBL_MAX_10_EXPDBL_MAX_EXPDBL_MINDBL_MIN_10_EXPDBL_MIN_EXPdifftimedupdup2E2BIGEACCESEADDRINUSEEADDRNOTAVAILEAFNOSUPPORTEAGAINEAI_AGAINEAI_BADFLAGSEAI_FAILEAI_FAMILYEAI_MEMORYEAI_NONAMEEAI_OVERFLOWEAI_SERVICEEAI_SOCKTYPEEAI_SYSTEMEALREADYEBADFEBADMSGEBUSYECANCELEDECHILDECHOECHOEECHOKECHONLECONNABORTEDECONNREFUSEDECONNRESETEDEADLKEDESTADDRREQEDOMEDQUOTEEXISTEFAULTEFBIGEHOSTDOWNEHOSTUNREACHEIDRMEILSEQEINPROGRESSEINTREINVALEIOEISCONNEISDIRELOOPEMFILEEMLINKEMSGSIZEENAMETOOLONGENETDOWNENETRESETENETUNREACHENFILEENOBUFSENODATAENODEVENOENTENOEXECENOLCKENOLINKENOMEMENOMSGENOPROTOOPTENOSPCENOSRENOSTRENOSYSENOTBLKENOTCONNENOTDIRENOTEMPTYENOTRECOVERABLEENOTSOCKENOTSUPENOTTYENXIOEOFEOPNOTSUPPEOVERFLOWEOWNERDEADEPERMEPFNOSUPPORTEPIPEEPROTOEPROTONOSUPPORTEPROTOTYPEERANGEEREMOTEERESTARTerferfcEROFSESHUTDOWNESOCKTNOSUPPORTESPIPEESRCHESTALEETIMEETIMEDOUTETOOMANYREFSETXTBSYEUSERSEWOULDBLOCKEXDEVEXIT_FAILUREEXIT_SUCCESSexp2expm1F_DUPFDF_GETFDF_GETFLF_GETLKF_OKF_RDLCKF_SETFDF_SETFLF_SETLKF_SETLKWF_UNLCKF_WRLCKFD_CLOEXECfdimFE_DOWNWARDFE_TONEARESTFE_TOWARDZEROFE_UPWARDfegetroundfesetroundFILENAME_MAXFLT_DIGFLT_EPSILONFLT_MANT_DIGFLT_MAXFLT_MAX_10_EXPFLT_MAX_EXPFLT_MINFLT_MIN_10_EXPFLT_MIN_EXPFLT_RADIXFLT_ROUNDSfmafmaxfminfmodFP_ILOGB0FP_ILOGBNANFP_INFINITEFP_NANFP_NORMALFP_SUBNORMALFP_ZEROfpathconffpclassifyFPE_FLTDIVFPE_FLTINVFPE_FLTOVFFPE_FLTRESFPE_FLTSUBFPE_FLTUNDFPE_INTDIVFPE_INTOVFfrexpgetcwdgetpayloadHUGE_VALHUPCLhypotICANONICRNLIEXTENIGNBRKIGNCRIGNPARILL_BADSTKILL_COPROCILL_ILLADRILL_ILLOPCILL_ILLOPNILL_ILLTRPILL_PRVOPCILL_PRVREGilogbimportInfINFINITYINLCRINPCKINT_MAXINT_MINisfiniteisgreaterisgreaterequalISIGisinfislessislessequalislessgreaterisnanisnormalissignalingISTRIPisunorderedIXOFFIXONj0j1jnL_ctermidL_cuseridLC_ADDRESSLC_ALLLC_COLLATELC_CTYPELC_IDENTIFICATIONLC_MEASUREMENTLC_MESSAGESLC_MONETARYLC_NAMELC_NUMERICLC_PAPERLC_TELEPHONELC_TIMElchownLDBL_DIGLDBL_MANT_DIGLDBL_MAX_10_EXPLDBL_MAX_EXPLDBL_MIN_10_EXPLDBL_MIN_EXPldexplgammaload_importslocaleconvlog10log1plog2logbLONG_MAXLONG_MINlrintlroundlseekM_1_PIM_2_PIM_2_SQRTPIM_EM_LN10M_LN2M_LOG10EM_LOG2EM_PIM_PI_2M_PI_4M_SQRT1_2M_SQRT2MAX_CANONMAX_INPUTMB_CUR_MAXMB_LEN_MAXmblenmbtowcmkfifomktimemodfMSG_CTRUNCMSG_DONTROUTEMSG_EORMSG_OOBMSG_PEEKMSG_TRUNCMSG_WAITALLNAME_MAXnanNaNNANNCCSnearbyintnextafternexttowardNGROUPS_MAXniceNOFLSHNULLO_ACCMODEO_APPENDO_CREATO_EXCLO_NOCTTYO_NONBLOCKO_RDONLYO_RDWRO_TRUNCO_WRONLYopenOPOSTPARENBPARMRKPARODDPATH_MAXpathconfpauseperrorpipePIPE_BUFPOLL_ERRPOLL_HUPPOLL_INPOLL_MSGPOLL_OUTPOLL_PRIprintfPRIO_PGRPPRIO_PROCESSPRIO_USERR_OKRAND_MAXreadremainderremquorintroundS_IRGRPS_IROTHS_IRUSRS_IRWXGS_IRWXOS_IRWXUS_ISBLKS_ISCHRS_ISDIRS_ISFIFOS_ISGIDS_ISLNKS_ISREGS_ISSOCKS_ISUIDS_IWGRPS_IWOTHS_IWUSRS_IXGRPS_IXOTHS_IXUSRSA_NOCLDSTOPSA_NOCLDWAITSA_NODEFERSA_ONSTACKSA_RESETHANDSA_RESTARTSA_SIGINFOscalbnSCHAR_MAXSCHAR_MINSEEK_CURSEEK_ENDSEEK_SETSEGV_ACCERRSEGV_MAPERRsetgidsetlocalesetpayloadsetpayloadsigsetpgidsetsidsetuidSHRT_MAXSHRT_MINSI_ASYNCIOSI_MESGQSI_QUEUESI_TIMERSI_USERSIG_BLOCKSIG_DFLSIG_ERRSIG_IGNSIG_SETMASKSIG_UNBLOCKSIGABRTsigactionSIGALRMSIGBUSSIGCHLDSIGCONTSIGFPESIGHUPSIGILLSIGINTSIGKILLsignbitsigpendingSIGPIPESIGPOLLsigprocmaskSIGPROFSIGQUITSIGRTMAXSIGRTMINSIGSEGVSIGSTOPsigsuspendSIGSYSSIGTERMSIGTRAPSIGTSTPSIGTTINSIGTTOUSIGURGSIGUSR1SIGUSR2SIGVTALRMSIGXCPUSIGXFSZsinhsleepsprintfSSIZE_MAXSTDERR_FILENOSTDIN_FILENOSTDOUT_FILENOstrcollstrftimestrtodstrtolstrtoldstrtoulstrxfrmsysconftantanhtcdraintcflowtcflushtcgetpgrpTCIFLUSHTCIOFFTCIOFLUSHTCIONTCOFLUSHTCOOFFTCOONTCSADRAINTCSAFLUSHTCSANOWtcsendbreaktcsetpgrptgammatimesTMP_MAXTOSTOPTRAP_BRKPTTRAP_TRACEtruncttynametznametzsetUCHAR_MAXUINT_MAXULONG_MAXunameunimplemented_messageusageUSHRT_MAXVEOFVEOLVERASEVINTRVKILLVMINVQUITVSTARTVSTOPVSUSPVTIMEW_OKwctombWEXITSTATUSWIFEXITEDWIFSIGNALEDWIFSTOPPEDWNOHANGwriteWSTOPSIGWTERMSIGWUNTRACEDX_OKy0y1yn
Math::BigInt
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
(-(--(-=(!=(""(((*(**(**=(*=(/(/=(&(&=(%(%=(^(^=(+(++(+=(<(<<(<<=(<=(<=>(=(==(>(>=(>>(>>=(|(|=(~(0+(abs(atan2(bool(cmp(cos(exp(int(log(neg(sin(sqrtaccuracyackermannas_binas_bytesas_floatas_hexas_intas_numberas_octas_ratbabsbackermannbacmpbaddbandbatanbatan2bblsftbbrsftbceilbclog10bclog2bcmpbcosbdecbdfacbdigitsumbdivbdstrbeqbestrbexpbfacbfibbfloorbfroundbfstrbgcdbgebgtbilog10bilog2bin_str_to_dec_flt_strbin_str_to_dec_strbincbinfbintbinvbiorblcmbleblessedblogblsftbltblucasbmfacbmodbmodinvbmodpowbmulbmuladdbnanbnebnegbnokbnormbnotbnstrbonebpibpowbrootbroundbrsftbsgnbsinbsqrtbsstrbstrbsubbtdivbtfacbtmodbuparrowbxorbzerocarpconfigcopycroakdec_str_to_dec_flt_strdec_str_to_dec_strdenominatordigitdigitsumdiv_scaledowngradedpartsepartsexponentFETCHfpartsfrom_basefrom_base_numfrom_binfrom_bytesfrom_decfrom_hexfrom_octfroundhex_str_to_dec_flt_strhex_str_to_dec_strimportis_evenis_finiteis_infis_intis_nanis_negis_negativeis_non_negativeis_non_positiveis_oddis_oneis_posis_positiveis_zerolengthmantissamodifynewnpartsnumeratornumifyobjectifyoct_str_to_dec_flt_stroct_str_to_dec_strpartsprecisionrefaddrroundround_modesignspartsSTORETIESCALARto_baseto_base_numto_binto_bytesto_hexto_octtrap_inftrap_nanuparrowupgrade
Math::BigFloat
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
(-(--(-=(!=(""(((*(**(**=(*=(/(/=(&(&=(%(%=(^(^=(+(++(+=(<(<<(<<=(<=(<=>(=(==(>(>=(>>(>>=(|(|=(~(0+(abs(atan2(bool(cmp(cos(exp(int(log(neg(sin(sqrtas_binas_floatas_hexas_intas_numberas_octas_ratAUTOLOADbacmpbaddbandbatanbatan2bblsftbbrsftbceilbclog10bclog2bcmpbcosbdecbdfacbdivbdstrbestrbexpbfacbfloorbfroundbfstrbgcdbilog10bilog2bincbinfbintbinvbiorblcmblessedblogblsftbmfacbmodbmodpowbmulbmuladdbnanbnegbnokbnormbnotbnstrbonebpibpowbrootbroundbrsftbsinbsqrtbsstrbstrbsubbtfacbxorbzerocarpconfigcopycroakdenominatorDESTROYdpartsepartsexponentFETCHfpartsfrom_binfrom_decfrom_hexfrom_ieee754from_octimportis_evenis_intis_oddis_oneis_zeroisalengthmantissanewnpartsnumeratornumifyobjectifypartsspartsSTORETIESCALARto_binto_hexto_ieee754to_oct
Math::BigRat
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
(-(--(-=(!=(""(((*(**(**=(*=(/(/=(&(&=(%(%=(^(^=(+(++(+=(<(<<(<<=(<=(<=>(=(==(>(>=(>>(>>=(|(|=(~(0+(abs(atan2(bool(cmp(cos(exp(int(log(neg(sin(sqrtas_binas_floatas_hexas_intas_numberas_octas_ratAUTOLOADbacmpbaddbandbblsftbbrsftbceilbcmpbdecbdivbeqbexpbfacbfloorbfroundbfstrbgebgtbincbinfbintbinvbiorbleblessedblogblsftbltbmodbmodinvbmodpowbmulbnanbnebnegbnokbnormbnotbonebpowbrootbroundbrsftbsqrtbsstrbstrbsubbxorbzerocarpconfigcopycroakdenominatordigitdpartsfpartsfrom_binfrom_decfrom_hexfrom_octimportis_evenis_intis_oddis_oneis_zeroisalengthnewnumeratornumifyobjectifypartsroundto_binto_hexto_oct
JSON::PP
Next
JSON parsing and encoding are strong plain-value portability targets.
allow_barekeyallow_bigintallow_bignumallow_blessedallow_nonrefallow_singlequoteallow_tagsallow_unknownarrayarray_to_jsonas_nonblessedasciibareKeyblessedblessed_to_jsonboolean_valuescanonicalconvert_blessedCORE_BOOLcore_boolsdecodedecode_errordecode_jsondecode_prefixencodeencode_errorencode_jsonescape_slashfalsefilter_json_objectfilter_json_single_key_objectfrom_jsonget_allow_barekeyget_allow_bignumget_allow_blessedget_allow_nonrefget_allow_singlequoteget_allow_tagsget_allow_unknownget_as_nonblessedget_asciiget_boolean_valuesget_canonicalget_convert_blessedget_core_boolsget_escape_slashget_indentget_indent_lengthget_latin1get_looseget_max_depthget_max_sizeget_relaxedget_shrinkget_space_afterget_space_beforeget_unblessed_boolget_utf8hash_to_jsonincr_parseincr_resetincr_skipincr_textindentindent_lengthis_boolis_valid_utf8latin1loosemax_depthmax_sizenewnext_chrnullnumberobjectobject_to_jsonP_ALLOW_BAREKEYP_ALLOW_BIGNUMP_ALLOW_BLESSEDP_ALLOW_NONREFP_ALLOW_SINGLEQUOTEP_ALLOW_TAGSP_ALLOW_UNKNOWNP_AS_NONBLESSEDP_ASCIIP_CANONICALP_CONVERT_BLESSEDP_ESCAPE_SLASHP_INDENTP_LATIN1P_LOOSEP_RELAXEDP_SHRINKP_SPACE_AFTERP_SPACE_BEFOREP_UTF8PP_decode_boxPP_decode_jsonPP_encode_boxPP_encode_jsonprettyrefaddrreftyperelaxedshrinksort_byspace_afterspace_beforestringstring_to_jsontagto_jsontrueunblessed_boolUSE_Butf8valuevalue_to_jsonwhiteword
Time::Piece
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
(-(""((()(+(<=>(cmpaddadd_monthsadd_yearsblessedbootstrapc_epochc_hourc_isdstc_islocalc_mdayc_minc_monc_secc_wdayc_ydayc_yearcarpcdatecompareconfesscroakdatedate_separatordatetimedayday_listday_of_monthday_of_weekday_of_yeardaylight_savingsdmyepochexportfulldayfullmonthget_epochsgmtimehmshourimportis_leap_yearisdstjulian_dayLEAP_YEARlocaltimemdaymdyminminutemjdmonmon_listmonnamemonthmonth_last_daynewNON_LEAP_YEARONE_DAYONE_FINANCIAL_MONTHONE_HOURONE_MINUTEONE_MONTHONE_WEEKONE_YEARparsesecsecondstr_comparestrftimestrptimesubtracttimetime_separatortimegmtimelocaltruncatetzoffsetuse_localewdaywdaynameweekydayyearymdyy
Math::Trig
Next
Trigonometric and angle-conversion helpers are strong scalar portability targets.
acosacos_realacosecacosechacoshacotacotanacotanhacothacscacschargasecasechasinasin_realasinhatanatan2atanhcartesian_to_cylindricalcartesian_to_sphericalcbrtcoseccosechcoshcotcotancotanhcothcplxcplxecsccschcylindrical_to_cartesiancylindrical_to_sphericaldeg2degdeg2graddeg2radgrad2deggrad2gradgrad2radgreat_circle_bearinggreat_circle_destinationgreat_circle_directiongreat_circle_distancegreat_circle_midpointgreat_circle_waypointiImInflnloglog10lognpipi2pi4pip2pip4rad2degrad2gradrad2radRerhorootsecsechsinhspherical_to_cartesianspherical_to_cylindricalsqrttantanhtheta
Unicode::Collate
Next
Unicode normalization and text helpers are strong plain-value targets.
Base_Unicode_VersionbootstrapcarpchangecheckCollatorcmpCODE_SEPconfesscroakeqFALSEgegetHSTgetSortKeygetWtgmatchgsubstgtHangul_SFinHangul_SIniindexKEY_TEMPLATEleLEVEL_SEPltmatchMaxLevelMin2WtMin3WtMinLevelmk_SortKeynenewNOMATCHPOSNON_VARpack_UparseAtmarkparseEntryprocessread_tableShift4WtsortsplitEntsubstTIE_TEMPLATETRUEUCA_Versionunpack_UVARvarCEVCE_TEMPLATEversionviewSortKeyvisualizeSortKey
Unicode::Normalize
Next
Unicode normalization helpers are strong plain-value string targets.
bootstrapcarpcheckcheckFCCcheckFCDcheckNFCcheckNFDcheckNFKCcheckNFKDcomposecomposeContiguousconfesscroakdecomposedot_t_pack_Udot_t_unpack_UFCCFCDfrom_nativeget_printable_stringgetCanongetCombinClassgetCompatgetCompositeisComp_ExisComp2ndisExclusionisNFC_MAYBEisNFC_NOisNFD_NOisNFKC_MAYBEisNFKC_NOisNFKD_NOisNonStDecompisSingletonNFCNFC_partialNFDNFD_partialNFKCNFKC_partialNFKDNFKD_partialnormalizenormalize_partialokreordersplitOnLastStarterto_native
Encode
Next
Text encoding and decoding helpers are useful portability targets when kept in string space.
bootstrapbytes2strclone_encodingDEBUGdecodedecode_utf8define_aliasdefine_encodingDIE_ON_ERRencodeencode_utf8encodingsFB_CROAKFB_DEFAULTFB_HTMLCREFFB_PERLQQFB_QUIETFB_WARNFB_XMLCREFfind_aliasfind_encodingfind_mime_encodinggetEncodingHTMLCREFimportis_utf8LEAVE_SRConBOOTONLY_PRAGMA_WARNINGSperlio_okPERLQQresolve_aliasretrieveRETURN_ON_ERRSTOP_AT_PARTIALstorestr2bytesWARN_ON_ERRXMLCREF
Explicit non-goals (1)
-
from_toIn-place string transcoding mutates caller-owned state.
Time::Seconds
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
(-(-=(""((()(+(+=(<=>(=(0+addadd_tocomparecopycs_moncs_secdaysfinancial_monthshoursimportLEAP_YEARminutesmonthsnewNON_LEAP_YEARONE_DAYONE_FINANCIAL_MONTHONE_HOURONE_MINUTEONE_MONTHONE_WEEKONE_YEARprettysecondssubtractsubtract_fromweeksyears
List::Util
Next
List::Util exports are mostly strong plain-value collection helpers.
allanybootstrapfirstheadimportmaxmaxstrmeshmesh_longestmesh_shortestminminstrnonenotallpairfirstpairgreppairkeyspairmappairspairvaluesproductreducereductionssumsum0tailuniquniqintuniqnumuniqstrunpairszipzip_longestzip_shortest
Unicode::UCD
Next
Unicode normalization and text helpers are strong plain-value targets.
all_casefoldsbidi_typescarpcasefoldcasespeccharblockcharblockscharinfocharinrangecharpropcharprops_allcharscriptcharscriptscompexclconfesscroakdcloneDEBUGgeneral_categoriesgetCombinClassIS_ASCII_PLATFORMloose_namenamedseqNFDnumopenunicodeprop_aliasesprop_invlistprop_invmapprop_value_aliasesprop_valuessearch_invlistSWASHNEWUnicodeVersion
Math::BigInt::Lib
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
(-(!=(""(((*(**(/(&(%(^(+(<(<<(<=(<=>(=(==(>(>=(>>(|(0+(abs(bool(int(sqrtcarpconfesscroakimport
Time::HiRes
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
alarmAUTOLOADbootstrapclockclock_getresclock_gettimeCLOCK_MONOTONICclock_nanosleepconstantd_hires_utimegetitimergettimeofdayimportlstatnanosleepsetitimersleepstattimetv_intervalualarmusleeputime
builtin
Next
Core builtins are strong plain-value portability targets when they return scalars or strings.
blessedceilcreated_as_numbercreated_as_stringexport_lexicallyfalsefloorimportindexedinfis_boolis_taintedis_weakload_modulenanrefaddrreftypestringifytrimtrueunweakenweaken
Time::tm
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
carpconfesscroakhourisdstmdayminmonnewsecstructwdayydayyear
Encode::JP::JIS7
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
cat_decodedecodeencodeeuc_jisFB_CROAKFB_DEFAULTFB_HTMLCREFFB_PERLQQFB_QUIETFB_WARNFB_XMLCREFjis_eucneeds_lines
Encode::KR::2022_KR
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
decodeencodeeuc_isoFB_CROAKFB_DEFAULTFB_HTMLCREFFB_PERLQQFB_QUIETFB_WARNFB_XMLCREFiso_eucneeds_linesperlio_ok
Text::Balanced
Next
Text tokenization and formatting helpers are strong plain-value portability targets.
carpconfesscroakdelimited_patextract_bracketedextract_codeblockextract_delimitedextract_multipleextract_quotelikeextract_taggedextract_variablegen_delimited_patgen_extract_tagged
Encode::GSM0338
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
carpconfesscroakdecodeencodeFB_CROAKFB_DEFAULTFB_HTMLCREFFB_PERLQQFB_QUIETFB_WARNFB_XMLCREF
Encode::Byte
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::CN
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::CN::HZ
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
cat_decodedecodeencodeFB_CROAKFB_DEFAULTFB_HTMLCREFFB_PERLQQFB_QUIETFB_WARNFB_XMLCREFneeds_lines
Encode::EBCDIC
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::JP
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::KR
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::Symbol
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Encode::TW
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapbytes2strclone_encodingdecodedecode_utf8encodeencode_utf8encodingsfind_encodingfind_mime_encodingstr2bytes
Time::Local
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
SECS_PER_DAYSECS_PER_HOURSECS_PER_MINUTEtimegmtimegm_moderntimegm_nochecktimegm_posixtimelocaltimelocal_moderntimelocal_nochecktimelocal_posix
MIME::Base64
Next
Base64 codec helpers are strong plain-value portability targets.
decodedecode_base64decode_base64urldecoded_base64_lengthencodeencode_base64encode_base64urlencoded_base64_length
Explicit non-goals (1)
-
bootstrapMIME codec bootstrap and module plumbing are not direct plain-value helpers.
utf8
Next
UTF-8 string validation and shape helpers are useful plain-value targets.
decodedowngradeencodeis_utf8native_to_unicodeunicode_to_nativeupgradevalid
Explicit non-goals (3)
-
AUTOLOADutf8 pragma hooks and module plumbing are runtime mechanics rather than direct text helpers. -
importutf8 pragma hooks and module plumbing are runtime mechanics rather than direct text helpers. -
unimportutf8 pragma hooks and module plumbing are runtime mechanics rather than direct text helpers.
charnames
Next
Character-name lookup helpers are useful plain-value string targets.
code_point_to_name_specialimportname_to_code_point_specialstring_vianameviacodevianame
Encode::Unicode::UTF7
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
decodedecode_base64encodeencode_base64find_encodingneeds_lines
Math::BigInt::Calc
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
carpconfigcroakDEBUGimportsteps
MIME::QuotedPrint
Next
MIME text transforms are useful plain-value portability targets.
decodedecode_base64decode_qpencodeencode_base64encode_qp
Text::Wrap
Next
Text tokenization and formatting helpers are strong plain-value portability targets.
expandfillimportREGEXPS_USE_BYTESunexpandwrap
JSON::PP::Boolean
Next
JSON parsing and encoding are strong plain-value portability targets.
(--((()(++(0+
Text::ParseWords
Next
Shell-like tokenization helpers have a clean plain-value contract.
nested_quotewordsold_shellwordsparse_linequotewordsshellwords
Encode::Unicode
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
bootstrapdecodeencoderenew
File::Basename
Next
Path decomposition helpers are strong plain-string portability targets.
basenamedirnamefileparsefileparse_set_fstype
Math::BigInt::FastCalc
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
api_versionbootstrapcarpcroak
Time::gmtime
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
gmctimegmtimeimportpopulate
Time::localtime
Next
Time parsing and formatting helpers often have a clean scalar or string contract.
ctimeimportlocaltimepopulate
Encode::CJKConstants
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
carpconfesscroak
Math::BigFloat::Trace
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
((importnew
Math::BigInt::Trace
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
((importnew
Math::BigRat::Trace
Next
Math module helpers are strong scalar portability targets unless explicitly noted otherwise.
((importnew
Text::Tabs
Next
Tab expansion helpers are useful plain-value string targets.
expandimportunexpand
Encode::JP::H2Z
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
h2zz2h
Encode::MIME::Header
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
decodeencode
Explicit non-goals (2)
-
needs_linesMIME header codec internals mix stream/runtime plumbing rather than direct text conversion. -
perlio_okMIME header codec internals mix stream/runtime plumbing rather than direct text conversion.
Encode::MIME::Name
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
get_encode_nameget_mime_name
Encode::MIME::Header::ISO_2022_JP
Next
Concrete encoding codec modules expose real text encode/decode helpers with a plain-value contract.
encode
Scalar::Util
Next
Numeric-shape predicates have a clean plain-value contract.
looks_like_number
Explicit non-goals (14)
-
blessedScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
dualvarScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
export_failScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
isdualScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
isvstringScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
isweakScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
openhandleHandle introspection depends on host I/O resources. -
readonlyScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
refaddrScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
reftypeScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
set_prototypeScalar::Util mostly exposes Perl runtime and reference-model introspection rather than plain values. -
taintedTaint-mode inspection is security-sensitive and runtime-specific. -
unweakenReference mutability helpers change ambient runtime state. -
weakenReference mutability helpers change ambient runtime state.
Text::Abbrev
Next
Text tokenization and formatting helpers are strong plain-value portability targets.
abbrev
Unicode::Collate::CJK::Big5
Next
Unicode normalization and text helpers are strong plain-value targets.
weightBig5
Unicode::Collate::CJK::GB2312
Next
Unicode normalization and text helpers are strong plain-value targets.
weightGB2312
Unicode::Collate::CJK::JISX0208
Next
Unicode normalization and text helpers are strong plain-value targets.
weightJISX0208
Unicode::Collate::CJK::Korean
Next
Unicode normalization and text helpers are strong plain-value targets.
weightKorean
Unicode::Collate::CJK::Pinyin
Next
Unicode normalization and text helpers are strong plain-value targets.
weightPinyin
Unicode::Collate::CJK::Stroke
Next
Unicode normalization and text helpers are strong plain-value targets.
weightStroke
Unicode::Collate::CJK::Zhuyin
Next
Unicode normalization and text helpers are strong plain-value targets.
weightZhuyin