Regexp::Pattern::License - Regular expressions for legal licenses
Contents
Copyright And License
Copyright © 2016-2021 Jonas Smedegaard
Copyright © 2017-2021 Purism SPC
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either version 3, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see
<https://www.gnu.org/licenses/>.
perl v5.40.0 2024-08-21 Regexp::Pattern::License(3pm)
Description
Regexp::Pattern::License provides a hash of regular expression patterns related to legal software
licenses.
Regexp::Pattern is a convention for organizing reusable regex patterns.
Examples
Browsepatterns
The "official" way to browse patterns is using App::RegexpPatternUtils:
show-regexp-pattern-module --page-result -- License
Unfortunately, App::RegexpPatternUtils has a deep dependency tree. An alternative is to use
Data::Printer and "less":
perl -CS -MRegexp::Pattern::License -MDDP -e 'p %Regexp::Pattern::License::RE, fulldump => 1, output => stdout' | less -RS
Name
Regexp::Pattern::License - Regular expressions for legal licenses
Patterns
Licensingtraits
Patterns each covering a single trait occuring in licenses.
Each of these patterns has the tag type:trait .
• addr_fsf
Sincev3.4.0.
• addr_fsf_franklin
Sincev3.4.0.
• addr_fsf_franklin_steet
Sincev3.4.0.
• addr_fsf_mass
Sincev3.4.0.
• addr_fsf_temple
Sincev3.4.0.
• any_of
Sincev3.1.92.
• by
Sincev3.3.0.
• by_apache
Sincev3.3.0.
• by_fsf
Sincev3.3.0.
• by_james_clark
Sincev3.3.0.
• by_psf
Sincev3.3.0.
• by_sam_hocevar
Sincev3.3.0.
• clause_retention
• clause_reproduction
• clause_advertising
• clause_advertising_always
• clause_non_endorsement
• except_389
• except_autoconf_data
Sincev3.4.0.
• except_autoconf_2
Sincev3.4.0.
• except_autoconf_2_archive
Sincev3.4.0.
• except_autoconf_2_autotroll
Sincev3.4.0.
• except_autoconf_2_g10
Sincev3.4.0.
• except_autoconf_3
Sincev3.4.0.
• except_bison_1_24
Sincev3.4.0.
• except_bison_2_2
Sincev3.4.0.
• except_classpath_2
• except_ecos_2
Sincev3.6.0.
• except_epl
• except_epl_mpl
• except_faust
Sincev3.4.0.
• except_font_2
Sincev3.7.0.
• except_gcc_2
Sincev3.7.0.
• except_gcc_3_1
Sincev3.7.0.
• except_gstreamer
• except_libtool
• except_mif
• except_openssl
Sincev3.4.0.
• except_ocaml-lgpl
• except_openssl-lgpl
Sincev3.4.0.
• except_openssl_s3
Sincev3.4.0.
• except_prefix_agpl
Sincev3.4.0.
• except_prefix_generic
Sincev3.4.0.
• except_prefix_gpl
Sincev3.4.0.
• except_prefix_gpl_clisp
Sincev3.4.0.
• except_prefix_lgpl
Sincev3.4.0.
• except_proguard
Sincev3.4.0.
• except_qt_gpl_1
Sincev3.4.0.
• except_qt_gpl_eclipse
Sincev3.4.0.
• except_qt_gpl_openssl
Sincev3.4.0.
• except_qt_kernel
Sincev3.4.0.
• except_qt_lgpl_1_1
Sincev3.4.0.
• except_qt_nosource
Sincev3.4.0.
• except_sdc
Sincev3.4.0.
• except_sollya_4_1
Sincev3.4.0.
• except_warzone
Sincev3.4.0.
• except_wxwindows
Sincev3.6.0.
• except_xerces
Sincev3.4.0.
• fsf_unlimited
• fsf_unlimited_retention
• generated
Sincev3.4.0.
• license_label
• license_label_spdx
Sincev3.9.0.
• license_label_trove
Sincev3.1.100.
• licensed_under
Sincev3.1.92.
• usage_rfn
Sincev3.2.0.
• version
Optionally provides the following numbered and named captures:
"Under GPL, v2 or later of the license."
[ ] # -> $&
I # -> $1, $-{version_number}
[ ] # -> $2, $-{version_later}
"Under version 2 or 3 only of the GPL."
[ ] # -> $&
I # -> $1, $-{version_number}
I # -> $3, $-{version_number_2}
[ ] # -> $4, $-{version_only}
[] # -> $5, $-{version_of}
Capturesstablesincev3.11.0.
• version_later
Optionally provides the following numbered and named captures:
"Under GPLv2, or later of the license."
[ ] # -> $&
[ ] # -> $1, $-{version_later}
Capturesstablesincev3.11.0.
• version_numberstring
Optionally provides the following numbered and named captures:
"Under GPL, v2 or later of the license."
[ ] # -> $&
I # -> $1, $-{version_number}
"Under version 2 or 3 only of the GPL."
[ ] # -> $&
I # -> $1, $-{version_number}
Sincev3.1.92.Capturesstablesincev3.11.0.
• version_only
Optionally provides the following numbered and named captures:
"Under GPL version 2 only of the license."
[ ] # -> $&
[ ] # -> $1, $-{version_only}
Capturesstablesincev3.11.0.
• version_prefix
Singlelicenses
Patterns each covering a single license.
Each of these patterns has exactly one of these tags: type:unversionedtype:versioned:decimaltype:singleversion:*type:usage:*:* .
• aal
• abstyles
• adobe_2006
• adobe_glyph
• adsl
• afl
• afl_1_1
Sincev3.1.95.
• afl_1_2
Sincev3.1.95.
• afl_2
Sincev3.1.95.
• afl_2_1
Sincev3.1.95.
• afl_3
Sincev3.1.95.
• afmparse
• agpl
• agpl_1
Sincev3.1.102.
• agpl_1_only
• agpl_1_or_later
• agpl_2
• agpl_3
• agpl_3_only
• agpl_3_or_later
• aladdin
• aladdin_8
Sincev3.1.91.
• aladdin_9
Sincev3.1.91.
• amdplpa
• aml
• ampas
• antlr_pd
• apache
• apache_1
Sincev3.1.95.
• apache_1_1
Sincev3.1.95.
• apache_2
Sincev3.1.95.
• apafml
• apl
• apl_1
• apsl
• apsl_1
• apsl_1_1
• apsl_1_2
• apsl_2
• artistic
• artistic_1
Sincev3.1.95.
• artistic_1_cl8
Sincev3.1.95.
• artistic_1_perl
Sincev3.1.95.
• artistic_2
• bahyph
• barr
• bdwgc
Sincev3.1.0.
• bdwgc_matlab
Sincev3.1.0.
• beerware
• bittorrent
• bittorrent_1
• bittorrent_1_1
• borceux
• bsd_0_clause
Sincev3.5.0.
• bsd_1_clause
Sincev3.6.0.
• bsd_2_clause
• bsd_2_clause_freebsd
Sincev3.6.0.
• bsd_2_clause_netbsd
Sincev3.6.0.
• bsd_2_clause_patent
Sincev3.6.0.
• bsd_2_clause_views
• bsd_3_clause
• bsd_3_clause_attribution
Sincev3.6.0.
• bsd_3_clause_clear
Sincev3.6.0.
• bsd_3_clause_eclipse
Sincev3.9.0.
• bsd_3_clause_lbnl
Sincev3.6.0.
• bsd_3_clause_modification
• bsd_3_clause_no_military_license
Sincev3.6.0.
• bsd_3_clause_no_nuclear_license
Sincev3.6.0.
• bsd_3_clause_no_nuclear_license_2014
Sincev3.6.0.
• bsd_3_clause_no_nuclear_warranty
Sincev3.6.0.
• bsd_3_clause_refractions
Sincev3.9.0.
• bsd_4_clause
• bsd_4_clause_uc
Sincev3.7.0.
• bsd_protection
Sincev3.8.0.
• bsl
Sincev3.1.90.
• bsl_1
Sincev3.1.90.
• bzip2
• bzip2_1_0_5
• bzip2_1_0_6
• cal
Sincev3.5.0.
• cal_1
Sincev3.5.0.
• caldera
• catosl
• catosl_1_1
• cc_by
• cc_by_1
Sincev3.1.101.
• cc_by_2
Sincev3.1.101.
• cc_by_2_5
Sincev3.1.101.
• cc_by_3
Sincev3.1.101.
• cc_by_4
Sincev3.1.101.
• cc_by_nc
• cc_by_nc_1
Sincev3.1.101.
• cc_by_nc_2
Sincev3.1.101.
• cc_by_nc_2_5
Sincev3.1.101.
• cc_by_nc_3
Sincev3.1.101.
• cc_by_nc_4
Sincev3.1.101.
• cc_by_nc_nd
• cc_by_nc_nd_1
Sincev3.1.101.
• cc_by_nc_nd_2
Sincev3.1.101.
• cc_by_nc_nd_2_5
Sincev3.1.101.
• cc_by_nc_nd_3
Sincev3.1.101.
• cc_by_nc_nd_4
Sincev3.1.101.
• cc_by_nc_sa
• cc_by_nc_sa_1
Sincev3.1.101.
• cc_by_nc_sa_2
Sincev3.1.101.
• cc_by_nc_sa_2_5
Sincev3.1.101.
• cc_by_nc_sa_3
Sincev3.1.101.
• cc_by_nc_sa_4
Sincev3.1.101.
• cc_by_nd
• cc_by_nd_1
Sincev3.1.101.
• cc_by_nd_2
Sincev3.1.101.
• cc_by_nd_2_5
Sincev3.1.101.
• cc_by_nd_3
Sincev3.1.101.
• cc_by_nd_4
Sincev3.1.101.
• cc_by_sa
• cc_by_sa_1
Sincev3.1.101.
• cc_by_sa_2
Sincev3.1.101.
• cc_by_sa_2_5
Sincev3.1.101.
• cc_by_sa_3
Sincev3.1.101.
• cc_by_sa_4
Sincev3.1.101.
• cc_cc0
• cc_cc0_1
Sincev3.1.101.
• cc_devnations
Sincev3.7.0.
• cc_devnations_2
Sincev3.7.0.
• cc_nc
Sincev3.1.101.
• cc_nc_1
Sincev3.1.101.
• cc_nc_sa
Sincev3.7.0.
• cc_nc_sa_1
Sincev3.7.0.
• cc_nc_sp
Sincev3.7.0.
• cc_nc_sp_1
Sincev3.7.0.
• cc_nd_nc
Sincev3.7.0.
• cc_nd_nc_1
Sincev3.7.0.
• cc_nd
Sincev3.1.101.
• cc_nd_1
Sincev3.1.101.
• cc_pd
Sincev3.7.0.
• cc_pdd
Sincev3.7.0.
• cc_pddc
Sincev3.7.0.
• cc_sa
Sincev3.1.101.
• cc_sa_1
Sincev3.1.101.
• cc_sampling
Sincev3.7.0.
• cc_sampling_1
Sincev3.7.0.
• cc_sp
• cc_sp_1
Sincev3.7.0.
• cddl
• cddl_1
Sincev3.1.101.
• cddl_1_1
Sincev3.1.101.
• cecill
• cecill_1
• cecill_1_1
• cecill_2
• cecill_2_1
• cecill_b
• cecill_b_1
Sincev3.1.95.
• cecill_c
• cecill_c_1
Sincev3.1.95.
• cnri_jython
• cnri_python
• cnri_python_gpl_compat
• condor
Sincev3.8.0.
• condor_1_1
Sincev3.8.0.
• cpal
• cpal_1
• cpl
Sincev3.1.101.
• cpl_1
Sincev3.1.101.
• cpol
• cpol_1_02
• crossword
Sincev3.8.0.
• cryptix
• cua_opl
• cua_opl_1
• cube
• curl
• cvw
Sincev3.5.0.
• d_fsl
Sincev3.8.0.
• d_fsl_1
Sincev3.8.0.
• dbad
Sincev3.8.0.
• dbad_0_2
Sincev3.8.0.
• dbad_0_3
Sincev3.8.0.
• dbad_1
Sincev3.8.0.
• dbad_1_1
Sincev3.8.0.
• dont_ask
Sincev3.8.0.
• dsdp
• ecl
• ecl_1
• ecl_2
• ecos_1_1
Sincev3.6.0.
• ecos_2
Sincev3.6.0.
• efl
Sincev3.6.0.
• efl_1
Sincev3.6.0.
• efl_2
Sincev3.6.0.
• entessa
Sincev3.6.0.
• epl
• epl_1
• epl_2
• erlpl
Sincev3.7.0.
• erlpl_1_1
Sincev3.7.0.
• eudatagrid
Sincev3.6.0.
• eupl
• eupl_1
• eupl_1_1
• eupl_1_2
• eurosym
• fair
Sincev3.6.0.
• fair_source
Sincev3.8.0.
• fair_source_0_9
Sincev3.8.0.
• fal
Sincev3.8.0.
• fal_1_1
Sincev3.8.0.
• fal_1_2
Sincev3.8.0.
• fal_1_3
Sincev3.8.0.
• festival
Sincev3.8.0.
• frameworx
Sincev3.6.0.
• frameworx_1
Sincev3.6.0.
• fsfap
• fsful
• fsfullr
• ftl
• gfdl
• gfdl_1_1
• gfdl_1_1_only
• gfdl_1_1_or_later
• gfdl_1_2
• gfdl_1_2_only
• gfdl_1_2_or_later
• gfdl_1_3
• gfdl_1_3_only
• gfdl_1_3_or_later
• gfdl_niv
• glide
Sincev3.8.0.
• gpl
• gpl_1
Sincev3.3.0.
• gpl_1_only
• gpl_1_or_later
• gpl_2
Sincev3.3.0.
• gpl_2_only
• gpl_2_or_later
• gpl_3
Sincev3.3.0.
• gpl_3_only
• gpl_3_or_later
• gsoap
Sincev3.7.0.
• gsoap_1.3b
Sincev3.7.0.
• hpnd
Sincev3.6.0.
• hpnd_sell
Sincev3.6.0.
• ibm_pibs
Sincev3.8.0.
• icu
• ijg
Sincev3.8.0.
• imlib2
Sincev3.8.0.
• intel
Sincev3.5.0.
• ipa
Sincev3.6.0.
• ipl
• ipl_1
• isc
• jabberpl
Sincev3.5.0.
• json
Sincev3.1.90.
• jython
Sincev3.1.90.
• kevlin_henney
Sincev3.1.90.
• leptonica
Sincev3.8.0.
• lgpl
• lgpl_2
• lgpl_2_only
• lgpl_2_or_later
• lgpl_2_1
• lgpl_2_1_only
• lgpl_2_1_or_later
• lgpl_3
• lgpl_3_only
• lgpl_3_or_later
• lgpl_bdwgc
Sincev3.1.0.
• libpng
• libtiff
Sincev3.8.0.
• liliq_p
Sincev3.6.0.
• liliq_p_1_1
Sincev3.6.0.
• liliq_r
Sincev3.6.0.
• liliq_r_1_1
Sincev3.6.0.
• liliq_r_plus
Sincev3.6.0.
• liliq_r_plus_1_1
Sincev3.6.0.
• llgpl
• lpl
Sincev3.6.0.
• lpl_1
Sincev3.6.0.
• lpl_1_02
Sincev3.6.0.
• lppl
• lppl_1
• lppl_1_1
• lppl_1_2
• lppl_1_3a
• lppl_1_3c
• miros
Sincev3.6.0.
• mit_0
Sincev3.6.0.
• mit_advertising
• mit_cmu
• mit_cmu_warranty
• mit_enna
• mit_epinions
Sincev3.7.0.
• mit_feh
• mit_new
• mit_new_materials
• mit_old
• mit_oldstyle
• mit_oldstyle_disclaimer
• mit_oldstyle_permission
• mit_open_group
Sincev3.6.0.
• mit_openvision
Sincev3.7.0.
• mit_osf
Sincev3.7.0.
• mit_unixcrypt
Sincev3.7.0.
• mit_whatever
Sincev3.7.0.
• mit_widget
Sincev3.7.0.
• mit_xfig
Sincev3.7.0.
• motosoto
Sincev3.5.0.
• mpich2
Sincev3.8.0.
• mpl
• mpl_1
Sincev3.1.101.
• mpl_1_1
Sincev3.1.101.
• mpl_2
Sincev3.1.101.
• mpl_2_no_copyleft_exception
Sincev3.8.0.
• ms_cl
Sincev3.8.0.
• ms_pl
• ms_rl
• mulan
Sincev3.5.0.
• mulan_1
Sincev3.5.0.
• mulan_2
Sincev3.5.0.
• multics
Sincev3.6.0.
• nasa
Sincev3.6.0.
• nasa_1_3
Sincev3.6.0.
• naumen
Sincev3.6.0.
• nbpl
Sincev3.8.0.
• nbpl_1
Sincev3.8.0.
• ncsa
Sincev3.6.0.
• ngpl
• nokia
Sincev3.6.0.
• nosl
Sincev3.8.0.
• nosl_1
Sincev3.8.0.
• npl
• npl_1
• npl_1_1
• nposl
Sincev3.6.0.
• nposl_3
Sincev3.6.0.
• ntp
• ntp_disclaimer
• oclc
• oclc_1
• oclc_2
• odbl
Sincev3.8.0.
• odbl_1
Sincev3.8.0.
• odc_by
Sincev3.8.0.
• odc_by_1
Sincev3.8.0.
• ofl
• ofl_1
Sincev3.1.101.
• ofl_1_no_rfn
Sincev3.2.0.
• ofl_1_rfn
Sincev3.2.0.
• ofl_1_1
Sincev3.1.101.
• ofl_1_1_no_rfn
Sincev3.2.0.
• ofl_1_1_rfn
Sincev3.2.0.
• ogc
Sincev3.6.0.
• ogc_1
Sincev3.6.0.
• ogtsl
• oldap
Sincev3.5.0.
• oldap_1_1
Sincev3.5.0.
• oldap_1_2
Sincev3.5.0.
• oldap_1_3
Sincev3.5.0.
• oldap_1_4
Sincev3.5.0.
• oldap_2
Sincev3.5.0.
• oldap_2_0_1
Sincev3.5.0.
• oldap_2_1
Sincev3.5.0.
• oldap_2_2
Sincev3.5.0.
• oldap_2_2_1
Sincev3.5.0.
• oldap_2_2_2
Sincev3.5.0.
• oldap_2_3
Sincev3.5.0.
• oldap_2_4
Sincev3.5.0.
• oldap_2_5
Sincev3.5.0.
• oldap_2_6
Sincev3.5.0.
• oldap_2_7
Sincev3.5.0.
• oldap_2_8
Sincev3.5.0.
• openssl
• opl
Sincev3.6.0.
• opl_1
Sincev3.6.0.
• oset_pl
Sincev3.6.0.
• oset_pl_2_1
Sincev3.6.0.
• osl
• osl_1
• osl_1_1
• osl_2
• osl_2_1
• osl_3
• pddl
Sincev3.8.0.
• pddl_1
Sincev3.8.0.
• peer_production
Sincev3.8.0.
• php
Sincev3.6.0.
• php_3
Sincev3.6.0.
• php_3_01
Sincev3.6.0.
• postgresql
• psf_2
Sincev3.9.0.
• public_domain
• qpl
• qpl_1
• rpl
• rpl_1
• rpl_1_1
• rpl_1_3
• rpl_1_5
• rpsl
• rpsl_1
Sincev3.1.95.
• ruby
• rscpl
• sax_pd
Sincev3.8.0.
• sds
Sincev3.8.0.
• sds_1
Sincev3.8.0.
• sgi_b
• sgi_b_1
Sincev3.1.101.
• sgi_b_1_1
Sincev3.1.101.
• sgi_b_2
Sincev3.1.101.
• simpl
Sincev3.6.0.
• simpl_2
Sincev3.6.0.
• simple_w3c
Sincev3.6.0.
• simple_w3c_1_1
Sincev3.6.0.
• sissl
Sincev3.5.0.
• sissl_1_1
Sincev3.5.0.
• sissl_1_2
Sincev3.5.0.
• sleepycat
Sincev3.6.0.
• sncl
Sincev3.8.0.
• sncl_1_10
Sincev3.8.0.
• sncl_2_0_1
Sincev3.8.0.
• sncl_2_0_2
Sincev3.8.0.
• sncl_2_1
Sincev3.8.0.
• sncl_2_3
Sincev3.8.0.
• spl
• spl_1
• ssleay
Sincev3.2.0.
• stlport
Sincev3.8.0.
• sugarcrm
• sugarcrm_1_1_3
• tosl
Sincev3.6.0.
• truecrypt
Sincev3.8.0.
• truecrypt_3
Sincev3.8.0.
• ucl
Sincev3.6.0.
• ucl_1
Sincev3.6.0.
• unicode_dfs
Sincev3.9.0.
• unicode_dfs_2015
Sincev3.6.0.
• unicode_dfs_2016
Sincev3.6.0.
• unicode_strict
• unicode_tou
• unlicense
• upl
Sincev3.6.0.
• upl_1
Sincev3.6.0.
• vsl
Sincev3.6.0.
• vsl_1
Sincev3.6.0.
• vspl
Sincev3.8.0.
• w3c
Sincev3.6.0.
• w3c_19980519
Sincev3.6.0.
• w3c_19980720
Sincev3.6.0.
• w3c_20021231
Sincev3.6.0.
• w3c_20150513
Sincev3.6.0.
• watcom
• watcom_1
• wordnet
Sincev3.8.0.
• wtfpl
• wtfpl_1
Sincev3.1.95.
• wtfpl_2
Sincev3.1.95.
• wtfnmfpl
Sincev3.1.95.
• wtfnmfpl_1
Sincev3.1.95.
• x11
Sincev3.6.0.
• xfree86
Sincev3.8.0.
• xfree86_1_1
Sincev3.8.0.
• xnet
Sincev3.6.0.
• ypl
Sincev3.8.0.
• ypl_1
Sincev3.8.0.
• ypl_1_1
Sincev3.8.0.
• zed
Sincev3.8.0.
• zend
Sincev3.8.0.
• zend_2
Sincev3.8.0.
• zimbra
Sincev3.8.0.
• zimbra_1_3
Sincev3.8.0.
• zimbra_1_4
• zlib
• zlib_acknowledgement
• zpl
Sincev3.1.102.
• zpl_1
Sincev3.1.102.
• zpl_1_1
Sincev3.1.102.
• zpl_2
Sincev3.1.102.
• zpl_2_1
Sincev3.1.102.Licensecombinations
Patterns each covering a combination of multiple licenses.
Each of these patterns has the tag type:combo .
• net_snmp
Sincev3.6.0.
• perl
• python_2
Sincev3.9.0.Licensegroups
Patterns each covering either of multiple licenses.
Each of these patterns has the tag type:group .
• bsd
• cc
Sincev3.6.0.
• gnu
• mit
Structure
The regexp patterns follows the DefHash specification, and more specifically the structure of
Regexp::Pattern, defining access to one pattern per DefHash object, as "pat".
Additionally, (sub)patterns are available in plaintext form, as "pat.alt.*".
SUBJECT
Each pattern targets one or more subjects, i.e. ways to directly or indirectly represent a license.
Beware that not all pattern objects fully cover all subjects.
trait
Distinguishing trait or feature expressed in licensing strings, e.g. an advertising clause or
granting "...or any later version."
Coverage for this subject is currently rather weak.
name
Distinguishing name, e.g. usable in license grant.
grant
Text granting the license.
license
Text containing licensing terms.
Texts containing both license grant and licensing terms (e.g. BSD- and MIT-style licensing) may be
classified as either subject grant or subject license. This may change, as needs for distinction is
better understood.
SCOPE
Each pattern can process material within some scope, i.e. a certain sample size of the full subject.
As an example, <https://codesearch.debian.net/> use line-based processing, where patterns spanning
multiple lines are not applicable.
line
Pattern typically found within a single line. Typically this means less than 70 characters within
scope.
sentence
Pattern matching within a sentence.
May span multiple lines, but not across multiple sentences. Typically this means no full-stop or
colon within scope.
paragraph
Pattern matching distinguishing paragraph.
May span multiple sentences, but not multiple paragraphs. Typically this means no newline within
scope.
section
Pattern matching distinguishing section.
May span multiple paragraphs, but not multiple sections. Typically this means blank line within
scope.
multisection
Pattern may span multiple sections.
OBSOLETEOBJECTS
License objects obsoleted by improved coverage of other objects, and provided only as dummy objects.
• or_at_option
Sincev3.11.0.
• version_later_paragraph
Sincev3.11.0.
• version_later_postfix
Sincev3.11.0.
• version_number
Sincev3.11.0.
• version_number_suffix
Sincev3.11.0.
• python
Sincev3.9.0.
Replaced by "psf_2" and "python_2".
• wordnet_3
Sincev3.9.0.
Replaced by "wordnet".
TAGS
Pattern defhashes optionally includes tags, which may help in selecting multiple related patterns.
Tags are hierarchical, with ":" as separator, and may be extended without notice. Therefore take care to
permit sub-parts when tag-matching, e.g. using a regex like " /\Asome:tag(?:\z|:)/ ".
• family:bsd
• family:cc
• family:gpl
• family:mit
• family:zlib
Pattern covers a license part of a family of licenses.
• license:contains:grant:*
License mentions a preferred form for granting the license.
This implies that license is commonly granted by use of a different (typically far shorter) text.
Fourth part (optional) is the key to corresponding license pattern, for a grant belonging to a
different license (when omitted then a grant for same license is assumed).
• license:contains:license:*
License contains another license.
Wildcard is the key to corresponding license pattern.
• license:contains:name:*
License mentions name of another license.
• license:includes:license:*
License references coverage of another license.
Wildcard is the key to corresponding license pattern.
• license:is:grant
License is commonly granted by stating the whole license.
• license:published:*
License grant may include an "as published by..." reference.
Third part is the key to corresponding trait pattern.
• type:trait:publisher:*
Pattern covers an "as published by ..." license grant phrase.
Third part (optional) is the key to corresponding license pattern.
• type:usage:*:*
Pattern covers a specific usage of a license.
Third part is the key of the corresponding non-usage-specific pattern.
Fourth part is the key of the corresponding usage trait pattern.
• type:combo
Pattern covers a combination of multiple licenses.
• type:group
Pattern covers either of multiple licenses.
• type:singleversion:*
Pattern covers a specific version of a license.
Third part is the key of the corresponding non-version-specific pattern.
• type:trait
Pattern covers a single trait occuring in licenses.
• type:unversioned
Pattern covers a license without versioning scheme.
• type:versioned:decimal
Pattern covers a license using decimal number versioning scheme.
Synopsis
use Regexp::Pattern::License;
use Regexp::Pattern;
my $string = 'GNU General Public License version 3 or later';
print "Found!\n" if $string =~ re( 'License::gpl_3' ); # prints "Found!"
Version
Version v3.11.2
