[aklug] Re: Perl 5 OOP

From: Joshua J. Kugler <joshua@eeinternet.com>
Date: Thu Jan 07 2010 - 14:12:36 AKST

On Thursday 07 January 2010, Christopher Howard elucidated thus:

> Most notably, no pointer arithmetic allowed. A
> better comparison would probably be C++. C++ gives you natural OOP,
> concise syntax, comfortable exception handling, and so forth. But it
> also always you to drop down into C style constructs and mess with
> pointers, manipulate structures, and heck, even execute assembly code
> if you want to!

http://search.cpan.org/~ingy/Pointer-0.11/lib/Pointer.pm

> Err, oops... mature response: Doubtless, Perl is a powerful and
> convenient language, or it wouldn't have had such an integrated,
> gripping influence in the Unix world. Is it even possible to run even
> a minimalistic Linux system without Perl, with all the utilities we
> have come to depend on?

There goes KDE, OpenOffice, and lots of other things, either by direct
or indirect dependencies. Even a few Python packages, ironically (but
mostly Wx, GTK, or Uno, although python-notify is in there too).

$ sudo apt-get remove perl
[sudo] password for jkugler:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  acroread adept-batch-kde3 adept-common-kde3 adept-installer-kde3
adept-kde3 adept-manager-kde3 adept-notifier-kde3
  adept-updater-kde3 adobe-flashplugin akregator-kde3
amarok-engine-xine-kde3 amarok-kde3 apparmor-utils ark-kde3 arts-kde3
  audacity binfmt-support bluez-cups bluez-gnome clusterssh cups
cups-driver-gutenprint cups-pdf cupsys-driver-gutenprint
  debtags defoma dia dia-common docbook-xml eyesapplet-kde3 firefox
firefox-3.0 firefox-3.0-branding fontconfig
  fontconfig-config foo2zjs foomatic-db-engine foomatic-db-gutenprint
foomatic-filters fpm2 ghostscript ghostscript-x giggle
  gimp git-core git-gui git-svn gitk gksu gnome-icon-theme gnome-keyring
gnupg-agent google-chrome-beta googleearth gparted
  gqview graphviz gsfonts gsfonts-x11 gstreamer0.10-plugins-bad
gstreamer0.10-plugins-good gstreamer0.10-x gtk-qt-engine-kde3
  gurlchecker gwenview-kde3 hal-cups-utils ijsgutenprint imagemagick
inkscape jockey-gtk k3b-kde3 kaddressbook-kde3
  kaffeine-kde3 kalgebra kappfinder-kde3 karm-kde3 katapult-kde3
kate-kde3 kbstate-kde3 kcoloredit-kde3 kcontrol-kde3
  kcron-kde3 kde-guidance-kde3 kde-style-qtcurve-kde3
kde-systemsettings-kde3 kdeadmin-kfile-plugins-kde3 kdebase-kde3
  kdebase-kde3-bin kdebase-kio-plugins-kde3 kdebase-runtime
kdebase-runtime-bin-kde4 kdebase-runtime-data-common-kde3
  kdegraphics-kfile-plugins-kde3 kdelibs-bin kdelibs4c2a
kdelibs4c2a-kde3 kdelibs5 kdemultimedia-kfile-plugins-kde3
  kdemultimedia-kio-plugins-kde3 kdenetwork-filesharing-kde3
kdenetwork-kfile-plugins-kde3 kdepasswd-kde3
  kdepim-kio-plugins-kde3 kdepim-kresources-kde3 kdeprint-kde3
kdesktop-kde3 kdesudo-kde3 kdesvn-kde3 kdesvn-kio-plugins-kde3
  kdiff3-kde3 kdm-kde3 kdnssd-kde3 kedit-kde3 keepassx kfilereplace-kde3
kfind-kde3 kghostview-kde3 kgpg-kde3 khelpcenter-kde3
  khelpcenter4 kicker-kde3 kimagemapeditor-kde3 kio-apt-kde3
kio-locate-kde3 kio-umountwrapper-kde3 kipi-plugins-kde3
  klinkstatus-kde3 klipper-kde3 kmag-kde3 kmail-kde3 kmenuedit-kde3
kmilo-kde3 kmix-kde3 kmousetool-kde3 kmplayer-base-kde3
  kmplayer-konq-plugins-kde3 knemo-kde3 knetworkconf-kde3 knode-kde3
knotes-kde3 kolourpaint-kde3 kommander-kde3 kompare-kde3
  konq-plugins-kde3 konqueror-kde3 konqueror-nsplugins-kde3 konsole-kde3
kontact-kde3 konversation-kde3 kooka-kde3 kopete-kde3
  korganizer-kde3 kpager-kde3 kpdf-kde3 kpersonalizer-kde3 kpf-kde3
kpilot-kde3 kpowersave-kde3 kppp-kde3 krdc-kde3
  kregexpeditor-kde3 krfb-kde3 kscreensaver-kde3
kscreensaver-xsavers-kde3 ksmserver-kde3 ksnapshot-kde3
  ksplash-engine-moodin-kde3 ksplash-kde3 ksvg-kde3 ksysguard-kde3
ksystemlog-kde3 ktip-kde3 ktorrent-kde3 kubuntu-desktop-kde3
  kvkbd-kde3 kwalletmanager-kde3 kweather-kde3 kwin-kde3
kwin-style-crystal-kde3 kxsldbg-kde3 libapparmor-perl
  libarts1-akode-kde3 libarts1c2a-kde3 libass1 libavahi-qt3-1
libbonoboui2-0 libcairo-perl libcairo2 libcairomm-1.0-1
  libclass-accessor-perl libcompress-raw-zlib-perl libcompress-zlib-perl
libconfig-general-perl libcvsservice0-kde3
  libdbd-mysql-perl libdbi-perl libdbus-1-qt3 libdbus-qt-1-1c2
libdigest-sha1-perl libenv-ps1-perl liberror-perl
  libexporter-tidy-perl libfont-afm-perl libfontconfig1
libfontconfig1-dev libgail-common libgail18 libgcr0 libgegl-0.0-0
  libgimp2.0 libgksu2-0 libglade2-0 libglib-perl libgnome2-canvas-perl
libgnomecanvas2-0 libgnomeprint2.2-0
  libgnomeprintui2.2-0 libgnomeui-0 libgraphviz4 libgs8 libgtk2-perl
libgtk2.0-0 libgtk2.0-bin libgtkhtml3.8-15
  libgtkmm-2.4-1c2a libgtksourceview2.0-0 libgtkspell0 libgweather1
libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl
  libhtml-tree-perl libio-compress-base-perl libio-compress-zlib-perl
libio-string-perl libk3b3-kde3 libkcal2b-kde3
  libkcddb1-kde3 libkdcraw3-kde3 libkdepim1a-kde3 libkexiv2-3-kde3
libkipi0-kde3 libkleopatra1-kde3 libkmime2-kde3
  libknotificationitem1 libkonq4-kde3 libkpimexchange1-kde3
libkpimidentities1-kde3 libkscan1-kde3 libksieve0-kde3
  libktnef1-kde3 liblaunchpad-integration1 libmagick++1 libmagickcore1
libmagickwand1 libmailtools-perl libmbca0
  libnet-daemon-perl libnet-ip-perl libnet-xwhois-perl libnotify1
libnss-mdns libpango1.0-0 libpango1.0-common libpangomm-1.4-1
  libparse-debianchangelog-perl libphonon4 libplasma3 libplrpc-perl
libpolkit-gnome0 libpoppler-dev libpoppler-glib4
  libpoppler-qt2 libpoppler-qt4-3 libpoppler-qt4-dev libpoppler4
libqca1c2 libqt-perl libqt3-mt libqt4-designer libqt4-dev
  libqt4-help libqt4-opengl libqt4-opengl-dev libqt4-qt3support
libqt4-scripttools libqt4-svg libqt4-webkit libqtgui4
  librpc-xml-perl librsvg2-2 librsvg2-bin librsvg2-common libsexy2
libskim0 libsmokeqt1 libsvn-perl libsvnqt4-kde3
  libterm-readkey-perl libterm-readline-zoid-perl libtimedate-perl
liburi-perl libvte9 libwmf-bin libwmf0.2-7 libwnck22
  libwww-perl libwxgtk2.8-0 libx11-protocol-perl libxft-dev libxft2
libxine1 libxine1-misc-plugins libxml-parser-perl
  lm-sensors msttcorefonts mypasswordsafe mysql-admin mysql-client
mysql-client-5.0 mysql-query-browser network-manager-gnome
  networkstatus-kde3 notification-daemon obex-data-server openoffice.org
openoffice.org-base openoffice.org-base-core
  openoffice.org-calc openoffice.org-core openoffice.org-draw
openoffice.org-emailmerge openoffice.org-filter-binfilter
  openoffice.org-help-en-us openoffice.org-impress openoffice.org-kde
openoffice.org-math openoffice.org-officebean
  openoffice.org-presenter-console openoffice.org-report-builder-bin
openoffice.org-thesaurus-en-us openoffice.org-writer
  openoffice.org-writer2latex perl perl-doc perl-modules perl-suid
perl-tk perlmagick pgadmin3 phonon phonon-backend-gstreamer
  pinentry-qt pnm2ppa policykit-gnome poppler-utils
powermanagement-interface psfontmgr pxljr pyqt4-dev-tools python-cairo
  python-glade2 python-gtk2 python-kde3-kde3 python-notify
python-poppler python-pythonmagick python-qt3 python-qt4 python-tk
  python-uno python-wxgtk2.8 python-wxversion qca-dev qca-tls qgit
qt4-designer qt4-qtconfig quanta-kde3 scim scim-bridge-agent
  scim-bridge-client-gtk scim-bridge-client-qt scim-gtk2-immodule
scim-qtimm scrollkeeper sgml-base sgml-data skim skype-static
  speedcrunch splix sqlitebrowser stgit sun-java6-fonts sun-java6-plugin
synaptic tk8.5 ttf-arabeyes ttf-arphic-ukai
  ttf-arphic-uming ttf-bitstream-vera ttf-dejavu ttf-dejavu-core
ttf-dejavu-extra ttf-freefont ttf-indic-fonts-core
  ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-liberation
ttf-malayalam-fonts ttf-mscorefonts-installer ttf-sazanami-gothic
  ttf-sazanami-mincho ttf-thai-tlwg ttf-unfonts-core wine
x-ttcidfont-conf x11-apps x11-utils xbase-clients xml-core xorg
  xscreensaver xscreensaver-data xterm xulrunner-1.9 zoidberg

-- 
Joshua Kugler
Part-Time System Admin/Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/  ID 0x14EA086E
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Thu Jan 7 14:13:18 2010

This archive was generated by hypermail 2.1.8 : Thu Jan 07 2010 - 14:13:18 AKST