Monday, March 12, 2007

Debug on Perl script

Debugging your PERL script

If you invoke perl with a -d switch, your script will be run under a debugging monitor. It will halt before the first executable statement and ask you for a command, such as:

h
Prints out a help message.

T
Stack trace.

s
Single step. Executes until it reaches the beginning of another statement.

n
Next. Executes over subroutine calls, until it reaches the beginning of the next statement.

f
Finish. Executes statements until it has finished the current subroutine.

c
Continue. Executes until the next breakpoint is reached.

c line
Continue to the specified line. Inserts a one-time-only breakpoint at the specified line.

">
Repeat last n or s.

l min+incr
List incr+1 lines starting at min. If min is omitted, starts where last listing left off. If incr is omitted, previous value of incr is used.

l min-max
List lines in the indicated range.

l line
List just the indicated line.

l
List next window.

-
List previous window.

w line
List window around line.

l subname
List subroutine. If it's a long subroutine it just lists the beginning. Use "l" to list more.

/pattern/
Regular expression search forward for pattern; the final / is optional.

?pattern?
Regular expression search backward for pattern; the final ? is optional.

L
List lines that have breakpoints or actions.

S
Lists the names of all subroutines.

t
Toggle trace mode on or off.

b line condition
Set a breakpoint. If line is omitted, sets a breakpoint on the line that is about to be executed. If a condition is specified, it is evaluated each time the statement is reached and a breakpoint is taken only if the condition is true. Breakpoints may only be set on lines that begin an executable statement.

b subname condition
Set breakpoint at first executable line of subroutine.

d line
Delete breakpoint. If line is omitted, deletes the breakpoint on the line that is about to be executed.

D
Delete all breakpoints.

a line command
Set an action for line. A multi-line command may be entered by backslashing the newlines.

A
Delete all line actions.

< command
Set an action to happen before every debugger prompt. A multi-line command may be entered by backslashing the newlines.

" command="">> command
Set an action to happen after the prompt when you've just given a command to return to executing the script. A multi-line command may be entered by backslashing the newlines.

V package
List all variables in package. Default is main package.

! number
Redo a debugging command. If number is omitted, redoes the previous command.

! -number
Redo the command that was that many commands ago.

H -number
Display last n commands. Only commands longer than one character are listed. If number is omitted, lists them all.

q or ^D
Quit.

command
Execute command as a perl statement. A missing semicolon will be supplied.

p expr
Same as "print DB'OUT expr". The DB'OUT filehandle is opened to /dev/tty, regardless of where STDOUT may be redirected to.

If you want to modify the debugger, copy perldb.pl from the perl library to your current directory and modify it as necessary. (You'll also have to put -I. on your command line.) You can do some customization by setting up a .perldb file which contains initialization code. For instance, you could make aliases like these:

 $DB'alias{'len'} = 's/^len(.*)/p length($1)/';
$DB'alias{'stop'} = 's/^stop (at|in)/b/';
$DB'alias{'.'} =
's/^\./p "\$DB\'sub(\$DB\'line):\t",\$DB\'line[\$DB\'line]/';

BAU DEMOKRASI

BAU DEMOKRASI
------------

----------------------------------------------

Bau yang keluar dari mulut saya ini, kata-kata yang terungkap dari bibir saya ini, ungkapan yang nongol dari cocor saya ini, terkadang busuk terkadang wangi. Itu karena yang keluar memang asli busuk atau asli wangi. Atau terkadang tergantung kondisi mulut saya sendiri. Mungkin kata-kata saya busuk, tapi karena mulut saya wangi, maka keluarnya wangi. Atau kata-kata saya wangi, namun karena mulut saya busuk, maka produknya busuk juga.
Nah, tolong jangan lupa di saat lain wangi busuknya segala yang keluar dari mulut saya tergantung pada situasi hidung Anda. Mungkin yang ungkapkan busuk, tapi karena lubang hidung Anda ada parfumnya, maka terasa wangi. Atau sebaliknya, yang saya ungkapkan wangi, tapi karena hidung Anda ketempelan bau busuk -- misalnya karena Anda selalu sibuk mengurusi ayam-ayam di kandang -- maka kata-kata saya menjadi terasa busuk pula.
Tapi itulah resiko demokrasi. Itulah kemungkinan-kemungkinan bau demokrasi. (EAN/1999)

Riwayat Prangko

fwd from PIkiran Rakyat, Selasa, 20 Februari 2007
Riwayat Prangko
Oleh ERIYANTI NURMALA DEWI

INI sebuah cerita di balik prangko. Tahun 2005 Direktorat Jenderal Pos dan Telekomunikasi (Ditjen Postel) merencanakan akan menerbitkan prangko seri zodiak pada 2007. Namun waktu itu belum ditentukan, prangko seri zodiak apa yang akan dicetak. Baru September 2006, Ditjen Postel menetapkan bahwa prangko seri zodiak yang akan dicetak adalah seri "12 Shio". Dengan mengambil momen Februari 2007 bersamaan dengan peringatan Imlek.
Hunting pun mulai dilakukan. Sejumlah narasumber dilibatkan, seperti Perhimpunan Indonesia Tionghoa (INTI), Suhu Bingo (Konsultan Fengshui dari Surabaya), Bidang Budaya dari Kementerian Informasi dan Komunikasi (Menkominfo)

, dan para filatelis Tionghoa maupun pribumi, termasuk beberapa desainer yang akan memvisualisasikan kedua belas shio.
Desain awal prangko pun selesai dibuat. Desain ini mulai dipajang pada pameran dan kongres nasional lima tahunan Perhimpunan Filatelis Indonesia (PFI) yang diselenggarakan Desember 2006 di Bandung. Namun apa yang terjadi? Menuai kontroversi!
Sebagian peserta kongres tidak setuju dengan contoh prangko shio ini. Beberapa dari mereka mulai menyebar bisik-bisiknya kepada peserta lain sehingga angin penolakan pun berembus sampai dibawa ke daerah pascakongres. Beberapa daerah yang tidak setuju mengipas-ngipas daerah lain. Tak ayal, milis PFI pun riuh dengan pro-kontra ini. SMS panas bersliweran. Bahkan, loket-loket di sejumlah Kantor Pos pun dipenuhi surat-surat bernada sama.
Nada surat itu bukan lagi tidak bersetuju, tetapi mengancam. Alasannya sudah dapat ditebak. Mereka mempertanyakan, "Kenapa mesti Cina?", "Kenapa mesti yang minoritas yang diprioritaskan?", "Kenapa mesti gambar babi?", "Kenapa tidak umat lain yang lebih mayoritas", dst.
Padahal fungsi prangko, menurut Kasi Faliteli Abdussyukur, antara lain, untuk memperkenalkan kekayaan budaya Indonesia kepada masyarakat Indonesia dan dunia. Prangko juga disebut sebagai pencatat sejarah (karena mengabadikan peristiwa-peristiwa penting). Seperti prangko peringatan 50 tahun KAA. Bahkan, prangko juga berfungsi untuk mempererat hubungan antarnegara (melalui penerbitan prangko bersama).
Jika persoalannya Muslim dan non-Muslim, hampir setiap tahun PT Pos menerbitkan prangko seri MTQ, seri gambar masjid (mulai dari Masjid Istiqlal sampai Masjid Besar di Aceh). Bukan itu saja, prangko seri ibadah haji juga pernah diterbitkan, termasuk prangko seri Hari Raya Islam yang diterbitkan Ramadan tahun lalu (2006). Sementara untuk prangko seri agama lain, PT Pos pernah menerbitkan prangko bergambar Kathedral Jakarta.
Namun, bila persoalannya minoritas, bagaimana dengan jumlah penduduk Tinghoa di Indonesia yang saat ini sekira 5 juta dari sekira 220 juta penduduk Indonesia. Selain itu, dasar hukum dan perundang-undangan yang pernah dan sudah diberlakukan di Indonesia pun tidak lagi mempertentangkan minoritas dan mayoritas. Mari kita simak (lagi) beberapa produk hukum dan perundang-undangan yang berkaitan dengan minoritas-mayoritas itu. Pada tanggal 19 September 1998, pemerintahan B.J. Habibie pernah mengeluarkan Instruksi Presiden (Inpres) No. 26 Tahun 1998 tentang penghentian penggunaan istilah pri dan nonpri dalam semua perumusan dan penyelenggaraan kebijakan atau pelaksanaan kegiatan penyelenggaraan pemerintahan.
Tahun 2000, pemerintahan Gusdur mengeluarkan Keppres No. 6 Tahun 2000 tentang pencabutan Inpres No. 14 Tahun 1967 tentang pelarangan perayaan dan upacara keagamaan Tionghoa di muka umum. Pada tahun 2002, Megawati Soekarno Putri mengeluarkan Keppres No. 19 Tahun 2002 tentang penetapan Imlek sebagai hari libur nasional.
Tahun 2006, pemerintah Presiden Susilo Bambang Yudhoyono mengeluarkan Undang-Undang Nomor 12 Tahun 2006 tentang Kewarganegaraan Republik Indonesia yang menggantikan UU Nomor 62 Tahun 1958 yang mengacu Staadblad 1910-296 warisan kolonial Belanda. Lalu, mengapa penerbitan prangko seri shio masih harus dipertentangkan?
Setelah melalui dialog cukup panjang dan mengundang semua pihak yang terlibat, termasuk perwakilan yang tidak bersetuju, akhirnya PT Pos selaku pelaksana kebijakan Ditjen Postel mengambil jalan tengah.
Gambar babi yang semula identik dengan babi hutan yang sangar, diganti dengan seekor babi yang penuh ornamen. Begitu pula dengan gambar macam yang siap menerkam, diganti dengan gambar macam yang lebih natural.
Gambar babi yang semula ditempatkan di bagian tengah kemasan prangko, diganti dengan pilar (arsitektur gerbang Cina), dan tidak ada lagi penamaan prangko Imlek karena prangko itu sudah dimusnahkan. Ditjen Postel menetapkan, prangko seri ini dinamai prangko seri zodiak "12 Shio" yang sudah disesuaikan.
Kondisi yang hampir sama sebenarnya pernah terjadi pada 1996. Manakala PT Pos menerbitkan prangko "ASEAN Filateli Exhibition" yang diselenggarakan di Beijing. Pada waktu itu, menurut Abdussyukur, PT Pos harus mengejar izin khusus, mengingat dalam penerbitan seri tersebut PT Pos harus mencantumkan aksara Cina sebagai nama event.
Meski peristiwa itu terjadi 11 tahun silam dan kini ketika perangkat hukum dan perundangan sudah dibuat dan ditetapkan pemerintah, ternyata tidak mudah melaksanakan pembauran di Indonesia. Penerbitan prangko seri "12 Shio" notabene merupakan bukti perjalanan panjang sebuah kerja budaya yang mencoba mengakomodasikan semua kepentingan.
Semacam semangat yang mengibarkan bahwa segala perdebatan diskriminatif dan konflik tentang asli-tak asli, mayoritas-minoritas, harus segera dihapuskan dari wacana kewarganegaraan di negeri ini karena semua itu hanya akan menjadi perdebatan yang sia-sia. Bukankah bangsa membangun butuh jiwa yang membangun? Lagi pula, siapa yang mau terlahir sebagai Cina, Sunda, Batak, ataupun Ambon, ataupun.... ***
Penulis, wartawan Pikiran Rakyat.

YANG MANA YANG JANTAN

YANG MANA YANG JANTAN

------------

----------------------------------------------

Saya dipercayai oleh kumpulan koperasi orang sedesa untuk memutar atau meniagakan uang yang mereka kumpulkan, agar menghasilkan laba yang bisa menambah daya ekonomi para warga koperasi dan seluruh penduduk desa. Tapi setelah sekian lama managemennya saya pegang, ternyata akhirnya bangkrut, sehingga kami semua dililit hutang dan terpaksa mengemis-ngemis lagi cari utangan yang baru. Saya ingin bersikap jantan, tapi saya bingung yang bagaimana yang disebut jantan.

Apakah saya harus berkata: "Para anggota koperasi dan warga desa sekalian, kalau saya melepaskan hak atas managemen ini gara-gara bangkrut, berarti saya tinggal gelanggang colong playu, alias saya lari dari tanggung jawab". Ataukah saya harus berkata: "Saudara-saudara sekalian, sebagai bentuk tanggung jawab saya atas kebangkrutan kita, maka dengan ini saya mengundurkan diri, mengembalikan hak yang saudara-saudara amanatkan, dan sekarang saya pasrah mau diapakan saja oleh saudara-saudara..."

PAHLAWAN SEJATI

PAHLAWAN SEJATI
------------

----------------------------------------------

Kepada seorang Ibu sederhana di sebuah dusun, yang pekerjaannya mencintai dan menemani wong cilik di desanya sepanjang hidup, saya mengajukan pertanyaan yang agak muluk: "Bu, siapakah pahlawan sejati?"

Ia menjawab: "Pahlawan sejati ialah orang yang berani omong tentang perjuangan sosial dan membela rakyat hanya sesudah ia sendiri sanggup bertanggung jawab secara mandiri atas perutnya sendiri. Pahlawan sejati ialah orang yang membela rakyat dengan kekuatan dan uang pribadinya, bukan dengan dana dari luar yang apalagi ia sendiri diupah untuk apa yang diperjuangkannya. Tapi yang terpenting adalah bahwa pahlawan sejati tidak pernah sempat menganggap dirinya pahlawan bahkan tidak punya waktu untuk mengingat kata pahlawan".

Saya bereaksi: "Waduh, Bu, kok berat dan muluk sekali syarat untuk menjadi pahlawan sejati?" Ibu itu menjawab lagi: "Memang berat dan muluk. Maka tidak akan berminat. Maka tidak populer dan tidak dipakai. Kalau ada yang memakainya, mungkin malah dikutuk, dirasani dan difitnah di mana-mana..."