Comment on Awk: The Power and Promise of a 40-Year-Old LanguageparentComments−chasil5yMark Espie rewrote the entire package system in perl in 2010, which is a bit late to be classed as legacy.https://undeadly.org/cgi?action=article;sid=20100323141307I'm not sure what was used for the version before this, but the original BSD package system was written in C.−throwawayboise5yBut perl was already the "standard" for other system/config utilities, no?−chasil5yI don't know what we mean by "standard," but I found a number of perl references with the following shell fragment: $ for x in $(echo $PATH|sed 's/:/ /g'); do file $x/*|grep perl;done All but two hits were in /usr/sbin, and /usr/bin. I isolated those files with: $ file /usr/sbin/* | awk '/perl/{sub(/:.*/,"");sub(/^.*[/]/,"");printf "%s, ", $0}';echo '' The sbin results are: adduser, fw_update, pkg_add, pkg_check, pkg_create, pkg_delete, pkg_info, pkg_mklocatedb, pkg_sign, rmuser, There are more in /bin: $ file /usr/bin/* | awk '/perl/{sub(/:.*/,"");sub(/^.*[/]/,"");printf "%s, ", $0}';echo '' c2ph, corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh, libnetcfg, libtool, perl, perlbug, perldoc, perlivp, piconv, pkg-config, pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect, prove, pstruct, skeyprune, splain, streamzip, xsubpp, A perl script can't pledge() or unveil(), so I am guessing that anything sensitive has moved to C.−boogies5yA perl script can't pledge() or unveil()It doesn't seem to support all of OpenBSD's privilege separation, but there are OpenBSD::Unveil(3p), OpenBSD::Pledge(3p), and https://github.com/rfarr/Unix-Pledgehttps://bronevichok.ru/posts/pledge.html−chasil5yDid not know that, thanks.
Comments
Mark Espie rewrote the entire package system in perl in 2010, which is a bit late to be classed as legacy.
https://undeadly.org/cgi?action=article;sid=20100323141307
I'm not sure what was used for the version before this, but the original BSD package system was written in C.
But perl was already the "standard" for other system/config utilities, no?
I don't know what we mean by "standard," but I found a number of perl references with the following shell fragment:
All but two hits were in /usr/sbin, and /usr/bin. I isolated those files with: The sbin results are: There are more in /bin: A perl script can't pledge() or unveil(), so I am guessing that anything sensitive has moved to C.It doesn't seem to support all of OpenBSD's privilege separation, but there are OpenBSD::Unveil(3p), OpenBSD::Pledge(3p), and https://github.com/rfarr/Unix-Pledge
https://bronevichok.ru/posts/pledge.html
Did not know that, thanks.