Sabtu, 07 April 2012

PERL

APAKAH PERL ITU ?
Perl merupakan singkatan dari Practical Extraction and Report Language yang dibuat oleh Larry Wall. Perl adalah bahasa interpreter sekaligus kompiler (mirip dengan java). Artinya perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan.
Mungkin anda sebelumnya pernah membuat program menggunakan shell script. Berbeda dengan shell script, Perl sangat fleksibel untuk digunakan sehingga kita bisa membentuknya sedemikian rupa sesuai dengan
selera kita. Perl banyak digunakan untuk pengembangan homepage dengan dipadukan bersma CGI. Beberapa software yang dikembangkan di internet menggunakan perl sebagai bahasa intinya, misalnya software pemantau traffic internet MRTG.
Perl juga mirip dengan bahasa C sehingga prgrammer C pun dapat mempelajari Perl dengan cepat dan mudah. Salah satu contoh kemiripan C dengan Perl adalah adanya tanda titik koma atau semiclon ";" pada akhir suatu perintah. Kelebihan yang lain adalah bahwa bahasa Perl dapat menangani string dan ekspresi dengan baik
Perl sendiri merupakan program yang dibuat khusus untuk UNIX. Namun demikian bagi para pengguna windows 95 dan windows NT masih dapat menggunakan Perl for win32 yang disebut sebagai activePerl (sesuai dengan nama alamat web penyedia Perl for Win32 tersebut. Active Perl dibuat setelah Perl Versi 5 for Unix diedarkan.

MENGAPA PERLU PERL ?
Sistem operasi yang didukung

  • Perl berawal dari Unix systems sebagai perangkat system administration.
  • Perl bekerja pada mesin Macintosh - lihat The MacPerl Pages dan
  • Perl juga bekerja di mesin berbasis Microsoft - lihat ActiveState Tools Corp.
Feature dasar Perl


  • Perl mengambil fitur-fitur terbaik dari bahasa pemrograman lain, seperti C, awk, sed, sh, dan BASIC.
  • Perl juga berjalan dengan database third-party seperti Oracle, Sybase, Postgres, dan yang lainnya melalui antarmuka database abstrak yang disebut DBI.
  • Perl dapat bekerja dengan HTML, XML, dan mark-up languages lainnya.
  • Perl mempunyai dukungan Unicode.
  • Perl adalah dan akan selalu Y2K compliant.
  • Perl mendukung procedural maupun object-oriented programming.
  • Perl dapat berantarmuka dengan library-library C/C++ eksternal melalui XS atau SWIG.
  • Akan mendukung development Java-Perl Lingo (JPL) ...
Perl sudah pasti Open Source


  • Perl didevelop oleh perl5porters, atau p5p for short. Perl 5 sangat extensible dan punya lebih dari 400 modul third party yang tersedia di Comprehensive Perl Archive Network (CPAN).
  • perl (the interpreter of Perl) dapat di embed ke dalam system lain.
Perl dan Web

  • Perl adalah bahasa pemrograman web yang paling populer karena fasilitas dengan manipulasi text dan siklus development yang cepat.
  • Perl dijuluki "the duct-tape of the internet".
  • Modul CGI.pm Perl membuat HTML form handling jadi jauh lebih mudah.
  • CGI.pm merupakan bagian distribusi standard Perl.
  • Perl mampu menangani transaksi Web terenkripsi, termasuk untuk tujuan e-commerce.
  • Perusahaan raksasa seperti Amazon.com dan Deja.com menggunakan Perl untuk situs mereka.
  • Perl dapat diembed dalam web server untuk mempercepat prosesing hingga 2000%. Lihat http://perl.apache.org.
  • Apache web server dapat menggunakan mod_perl untuk meng-embed Perl interpreter
  • Netscape web server dapat menggunakan nsapi_perl untuk meng-embed Perl interpreter
  • Dengan menggunakan paket DBI Perl, integrasi web-database menjadi mudah.
Pengguna Perl

  • The Perl Journal memperkirakan ada lebih dari 1,000,000 pengguna Perl
  • Programming Perl telah diterjemahkan dalam X languages

Sejarah Perl
  • Untuk lebih detilnya, lihatlah Perl Timeline
  • Perl diciptakan oleh Larry Wall
  • Perl 1.0 dirilis di usenet's alt.comp.sources pada tahun 1987
  • Perl 5 dirilis pada tahun 1994.
  • Versi mutakhir maintenance version dari Perl adalah 5.005_03
  • Versi mutakhir experimental version dari Perl adalah 5.005_58
Developer Perl


  • Manager versi mutakhir maintenance release untuk Perl 5.004 adalah Chip Salzenberg chip@perl.org.
  • Manager versi mutakhir maintenance release untuk Perl 5.005 adalah Chip Salzenberg chip@perl.org.
  • Manager versi mutakhir experimental release untuk Perl 5.005 adalah Gurusamy Sarathy gsar@activestate.com.

MENJALANKAN PERL
Cara yang paling mudah menjalankan program perl adalah dengan memanggil perl interpreter dan nama program sebagai argumennya

perl contoh.pl
Nama program atau file perlnya adalah contoh.pl dan perl adalah nama interpreternya. Tentu saja pemanggilan program perl di atas berasumsi bahwa path perl sudah dikenal, jika tidak maka kita perlu memanggil dengan full path sebagai berikut:

/usr/local/bin/per contoh.pl
Nah jika anda menggunakan windows 98 atau windows NT, anda dapat memanggilnya dengan cara yang hampir sama, yaitu:

C:\ Ntperl\perl contoh.pl
Tentu saja pemanggilan dengan cara di atas agak merepotkan. Untuk itu kita dapat menyederhanakan pemanggilannya dengan tanpa mencantumkan nama interpreter perl, jadi cukup nama file perl-nya saja

contoh.pl
Ada beberapa hal yang harus dilakukan pada sistem Unix, yaitu:

1.       Menambahkan full path dari lokasi interpreter perl dibaris pertama pada file program perl sebagai berikut:

#!/usr/local/bin/perl
# Nama Program:hello.pl
print "Hello World\n";
  1. Agar file program perl dapat langsung dieksekusi, maka perlu diubah mode filenya sebagai mode file eksekusi pada sistem UNIX, yaitu
Chmod +x contoh.pl
Pada sistem Windows, untuk menjadikan program perl langsung dapat dieksekusi, dapat dilakukan dengan membuat asosiasi antara file yang berkstensi .pl dan program perl. Jadi setiap file berakhiran .pl akan diekseusi oleh program perl, tepatnya active perl


MEMBUAT PERL SCRIPT : HELLO WORLD
Perl script merupakan file text yang terdiri dari kumpulan perintah-perintah perl. Berikut ini beberapa ketentuan umum yang perlu diperhatikan:

1.       Spasi kosong di awal baris akan diabaikan

  1. Perintah perl diakhiri dengan semicolon atau tanda titik koma ";"
  2. Tanda pagar atau "#" akan diartikan sebagai komentar dimana perintah dibelakangnya akan diabaikan
  3. Pada sistem Unix, baris pertama dicantumkan lokasi program perl, misalnya #!/usr/local/bin/perl
Baiklah, perhatikan program pertama Anda, hello world !

#!/usr/local/bin/perl

# Nama Program:hello.pl
print "Hello World\n";
mari lakukan langkah-langkah berikut:


$ perl hello.pl

Hello world
Atau

$ chmod +x hello.pl

$ hello.pl
Hello world
$
TIPE DATA

Ada beberapa jenis tipe data utama, yaitu:

·         scalar

  • Array
  • Assosiatif array (array lanjutan)
Data Scalar
Data scalar dapat didefinisikan sebagai suatu data yang dapat dimanipulasi oleh perl, dapat berupa :

·         angka numerik

  • karakter atau string,
dan data tersebut dapat kita tambahkan suatu nilai operator tertentu didepanya seperti tanda plus, minus persen dan sebagainya. Seluruh variabel scalar menggunakan tanda dolar "$" sebagai awal namanya.
Contoh nama variabel yang benar:

$contoh

$bolehpanjanglho
$nama_variabel_scalar_yang_benar
contoh nama variabel yang salah


$ contoh

$nama variabel scalar yang salah
perlu diingat bahwa penggunaan huruf dalam penulisan variabel scalar sangat sensitif terhadap perbedaan huruf besar dan kecil. Maka jika Anda membuat variabel skalar $jumlah, maka anda tidak bisa memanggilnya dengan variabel scalalr $JUMLAH
penggunaan operator dalam memanipulasi variabel scalar sangat fleksibel. Perhatikan contoh kasus berikut:

$a = 2;

$b = 6;
$c = $a . $b;  # The "." operator
                                    penggabungan 26 
#menjadi karakter
$d = $c / 2;
print $d;
 
hasilnya adalah:
 
13
Pada penggunaan karakter terdapat beberapa hal yang perlu diperhatikan


·         single quoted atau kutip tunggal

  • double quoted atau kutip ganda
kutip tunggal umumnya tidak akan menterjemahkan apa yang ada di dalamnya. Sedangkan kutip ganda menterjemahkan apa yang terdapat di dalamnya termasuk variabel.
perhatikan contoh berikut ini:

#!/usr/local/bin/perl –w


# Show warnings

$who = 'Yon Yonson';

$where = 'Wisconsin';
$what = 'in a lumbermill';
print "My name is $who,\n";
# Let's introduce ourselves
print "I live in $where,\n", 
"I work $what there.\n";
# Remember the line breaks
print "\nSigned: \t$who,\n\t\t$where.\n";
hasilnya adalah:


My
                                    name is Yon Yonson,

I live in Wisconsin,
I work in
                                    a lumbermill there.
Signed:    Yon Yonson,
                                    
Wisconsin
Variabel khusus pada karakter antara lain:


karakter hasil cetakan

\b backspace

\c baris tanpa diakhiri newline
\f
                                    formfeed
\n newline
\r Carriage return
\t karakter tab
\\ karakter garis miring terbalik
\nnn karakter yang memiliki nilai ASCII nnn,
dimana nn adalah 1 s/d 3 dijit bilangan
                                    oktal
operator yang dipakai oleh numerik dan karakter:


Nama angka karakter
Equal == eq
Not equal 1= ne
Less than < lt
Greater than > gt
Less than or equal to <= le
Grater than or equal to >= ge

Array
Array adalah suatu bentuk kumpulan atau daftar dari data scalar. Setiap data scalar yang dimasukkan dalam data ini adalah data yang memiliki nilai terendah beranjak menuju nilai yang lebih tinggi
Ada beberapa cara penaganan list dari data scalar yang dimasukkan , dapat berupa titik maupun koma
Salah satu bentuk metode yang paling umum untuk memasukkan beberapa data scalar ke dalam data array adalah dengan memisahkan satu data dengan data lainnya menggunakan tanda koma",". Perhatikan contoh berikut:

(10,20,30) array yang berisi 3 nilai yaitu 10,20,30

(a, b, c, d) array yang berisi 4 nilai yaitu a,b,c,d
("satu", 2, "ibu") array yang berisi 3 nilai yaitu "satu", 2 dan "ibu"
metode lain untuk memasukkan suatu data array adalah dengan menggunakan tanda titik dua "..". Tanda ini digunakan untuk memasukkan data scalaar yang banyak jumlahnya namun berurutan dengan maksud menghemat penulisan. Perhatikan contoh berikut:


(10..15) array yang berisi nilai 10, 11,12,13,14,15

(a..d) array yang berisi nilai a,b,c,d
Dalam bahasa pemrograman perl, variabel array dinyatakan dengan menggunakan tanda "@" di depan nama variabelnya. Contoh:

@trees =
                                    ("Larch", "Hazel", "Oak");

@nomor = (1,2,3);
@campur
                                    = (12,3,"cinta",100, "virus");
Nah selanjutnya untuk menyatakan nilai ke satu, ke dua dan seterusnya, dapat digunakan kurung siku berikut"[]". Perlu dicatat, elemen ke satu dari array tersebut adalah 0. Jadi dalam kasus @trees diatas, maka elemen ke satu alias @trees[1]adalah "Hazel". Untuk lebih jelasnya, perhatikan contoh berikut:


@items = (15, 45.67, "case");

print "Take $items[0] $items[2]s
                                    at \$$items[1] each.\n";
 
hasilnya adalah:
 
Take 15 cases at $45.67 each.
Penggunaan Array bersifat dinamis, perhatikan contoh berikut ini:


@A = (1, 2, 3);

@B = (4, 5, 6);
@C = (7, 8, 9);
@D = (@A, @B, @C);
print "aku
                                    adalah $D[0] $D[3] $D[6] \n";
 
hasilnya adalah:
 
aku adalah 1 4 7
Array Assosiatif

Array asosiatif merupakan pengembangan dari bentuk array yang lain, dimana definisinya dapat disederhanakan sebagai array yang indexing dari nilainya menggunakan string dan bukan bilangan – biasa disebut keys. Perhatikan contoh berikut:

%fruit = ("Green", "Apple", "Orange", "Orange", "Yellow", "Banana");

print $fruit{"Yellow"};
hasilnya:

Banana
Yang membedakan dengan array sebelumnya adalah tanda % sebagai tanda dari array asosiatif, dimana di dalam array terdapat pasangan key dan pasangan nilainya. Jadi nilai apple memiliki key green, nilai orange memiliki ket orange dan nilai banana memiliki key yellow. Lumayan bingung ? bayangkan array asosiatif ini sebagai suatu relasional database. Perhatikan contoh berikut ini:

%Folk =   ( 'YY', 'Yon Yonson',

           
                                    'TC', 'Terra Cotta',
           
                                    'RE', 'Ron Everly' );
 
%State
                                    = ( 'YY', 'Wisconsin',
          
                                    'TC', 'Minnesota',
          
                                    'RE', 'Bliss' );
 
%Job = (
                                    'YY', 'work in a lumbermill',
        
                                    'TC', 'teach nuclear physics',
        
                                    'RE', 'watch football');
 
foreach
                                    $person ( 'TS', 'YY', 'RE' )  {
        print "My name is $Folk{$person},\n",
              "I
                                    live in $State{$person},\n",
             
                                    "I $Job{$person} there.\n\n";
       
                                    }
terbayang kah hasilnya ? jika masih bingung, mungkin anda belum mengenal command foreach yang akan dijelaskan pada bagian lain. Tapi coba perhatikan contoh berikut:


print keys %Folk;

print values %State;
 
hasilnya adlah sebagai berikut:
YYRETCWisconsinBlissMinnesota.

STANDAR MASUKAN, KELUARAN DAN ERROR
Seperti juga dalam bahasa pemrograman lainny, maka perl memiliki beberapa standar keluaran, masukan dan error sebagai berikut:
STDIN: standar input, normalnya dari keyboard
STDOUT: standar keluaran, normalnya dari console
STDERR: perangkat dimana biasanya pesan kesalahan (error ) ditulis atau ditampilkan

Perhatikan contoh berikut ini:

Print "apakah mobil Anda ?";

$mobil = <STDIN>
print "mobil kamu mereknya $mobil nih\n";
hasilnya sebagai berikut:


apakah mobil Anda ? karimun

mobil kamu mereknya karimun nih
nah kalau contoh berikut ini, bagaimana hasilnya yah ?

open (INDATA, "/etc/stuff/Friday.dat");

open
                                    (LOGFILE, ">/etc/logs/reclaim.log");
print LOGFILE "Log of reclaim procedure\n";
 
sebelumnya perhatikan Symbol akses file
Symbol
Meaning
<
Opens the file for reading. This is the default action.
>
Opens the file for writing.
>>
Opens the file for appending.
+<
Opens the file for both reading and writing.
+>
Opens the file for both reading and writing.
| (before file name)
Treat file as command into which Perl is to pipe text.
| (after file name)
Treat file as command from which input is to be piped to Perl.

atau mungkin contoh sekedar mencetak pesan berikut:

open (MYLPR, "|lpr -Pmypr");

print MYLPR "A line of output\n";
close MYLPR;
atau sekedar menampilkan isi file ke layar console


open (SIGFILE, ".signature");

while (
                                    <SIGFILE> )  {
      print; print "\n";
      }
tetapi kalau pesan error sebaiknya sebagai berikut:


print (STDERR "Oops, something broke.\n");

ALUR KONTROL
Beberapa alur kontrol sederhana sudah kita bicarakan selintas di atas. Sebelum membicarakan terlalu jauh, perlu dipahami bersama pemanfaatan operator or "||" dan and "&&". Contoh berikut ini adalah variabel yang berisi True atau False tergantung dari nilai yang terkandung dari variabel yang dibandingkan:

$Weekend = $Saturday || $Sunday;
variabel $Weekend akan bernilai true jika nilai dari $Saturday atau $Sunday adalah true.

$Solvent = ($income > 3) && ($debts < 10);
sedangkan pada contoh diatas variabel $Solvent akan True jika variabel $income adalah lebih besar dari 3 dan variabel $debt kurang dari 10
berikut ini adalaha contoh trick dari pemrograman perl

$value > 10 || print "Oops, low value $value ...\n";
Jika nilainya lebih besar dari 10, maka sisi sebelah kanan dari ekspresi diatas tidak akan dievaluasi alias tidak ada yang dicetak. Tetapi jika nilainya kurang dari 10, maka sis sebelah kanan dari ekspresi di atas akan dievaluasi dan hasilnya . . . .

Oops,
                                    low value 6...
Nah hal yang sama juga kita bisa berlakukan pada operator and && sebagai berikut:

$value > 10 && print "OK, value is high enough…\n";
pemrograman perl memang membutuhkan kreatifitas yang baik dari pemrogramnya, perhatikan trik lainnya:

$length <= 80 || die "Line too long.\n";

$errorlevel > 3 && warn "Hmmm, strange error level ($errorlevel)…\n";
open ( LOGFILE, ">install.log") || &bust("Log file");

alur kontrol dalam single statement
Terdapat 4 pola alur kontrol yang dikenal dalam perl sebagai berikut:

Statemen dieksekusi jika lokigal ekspresinya true, jika false maka tidak dieksekusi
$max = 100 if $min < 100;

print "Empty!\n" if !$full;

statement unless tidak akan dieksekusi jika logikal ekspresi adala true, jika false maka tidak dieksekusi:
open (ERRLOG, "test.log")
                                    unless $NoLog;
print "Success" unless $error>2;
statement while dieksekusi berulang sampai logikal ekspresi false
$total -= $decrement while $total > $decrement;
$n=1000;  "print $n\n" while $n- > 0;
statement until dieksekusi berulang sampai dengan lokgikal ekspresi true
$total += $value[$count++] until $total > $limit;
print RESULTS
                                    "Next value: $value[$n++]" until  $value[$n] = -1;

alur kontrol majemuk IF


if ( ( $total += $value ) > $limit
                                    )  {

   print LOGFILE
                                    "Maximum limit $limit exceeded.",
" Offending value was $value.\n";
close (LOGFILE);
  die "Too many! Check the log file for details.\n";
   }
alur kontrol majemuk if than else


if ( !open( LOGFILE, "install.log") )   {

   close ( INFILE );
   die "Unable to open log file!\n";
   }
elseif ( !open( CFGFILE, ">system.cfg")
                                    )  {
  
                                    print LOGFILE "Error during install:",
" Unable to open config file for writing.\n";
close ( LOGFILE );
  
                                    die "Unable to open config file for writing!\n";
  
                                    }
else  {
   print CFGFILE "Your settings go here!\n";
   }
 
Loop – until
 
until ( $total >= 50 ) { 
print "Enter a value: "; 
$value = scalar (<STDIN>);
$total += $value;
print "Current total is $total\n"; 
}
print
                                    "Enough!\n";


Loop - for


for ( $count = 0; $count < 100; $count++ )  {
   print "Something";
   }

PATTERN MATCHING
Salah satu kehebatan perl adalah melakukan pencarian kata atau huruf dan me-replacenya – match and replace pattern. Kemampuan dasra dari pattern matching adalah:

·         Matching: pencocokan pola

  • Subtitution: penggantian atau subtitusi dari pola yang tercocokkan

Ekspresi reguler
Pencocokan biasanya menggunakan ekspresi regular, antara lain sebagai berikut:
 

Assertion
Matches Example Matches Doesn't Match
^
Start of string
^fool
foolish
tomfoolery
$
End of string
fool$
April fool
foolish
\b
Word boundary
be\bside
be side
beside
\B
Non-word boundary
be\Bside
beside
be side
Atom Matches Example Matches Doesn't Match
.
Any character except newline
b.b
bob
bb
List of characters in square brackets Any one of those characters
^[Bb]
Bob, bob
Rbob
Regular expression in parentheses Anything that regular expression
Quantifier
Matches Example Matches Doesn't Match
*
Zero or more instances of the atom
ab*c
ac, abc
abb
+
One or more instances of the atom
ab*c
abc
ac
?
Zero or one instances of the atom
ab?c
ac, abc
abbc
{n}
n instances of the atom
ab{2}c
abbc
abbbc
{n,}
At least n instances of the atom
ab{2,}c
abbc, .abbbc
abc
{nm}
At least n, at most m instances of the atom
ab{2,3}c
abbc
abbbbc


Symbol
Matches
Example
Matches
Doesn't Match
\d
Any digit
b\dd
b4d
bad
\D
Non-digit
b\Dd
bdd
b4d
\n
Newline
\r
Carriage return
\t
Tab
\f
Formfeed
\s
White space character
\S
Non-white space character
\w
Alphanumeric character
a\wb
a2b
a^b
\W
Non-alphanumeric character
a\Wb
aa^b
aabb



Matching
Proses pencocokan pola menggunakan tanda "/" diikuti reguler ekspresi. Perhatikan contoh berikut ini

$prompt = "Enter some text or press Ctrl-Z
                                    to stop: ";

print $prompt;
while (<>)  {
   /^[aA]/ &&
                                    print "Starts with a or A.  ";
   /[0-9]$/ && print "Ends with a digit.  ";
   /perl/ && print "You said it!   ";
   print
                                    $prompt;
   }
perhatikan contoh berikut pula:

The =~ operator performs pattern matching. For example, if:

$s = 'One if by land and two if by sea';

then: 
    if ($s =~ /if by la/) {print "YES"}
    else {print "NO"}
prints YES,


    if ($s =~ /one/)
                                    {print "YES"}

    else {print "NO"}
prints NO,

    if ($s =~ /one/i)
                                    {print "YES"}

    else {print "NO"}
Substitusi
Proses penggantian kata atau huruf, perhatikan contoh berikut ini:

$house = "henhouse";

$house  =~ s/hen/dog/;
akan mengubah henhouse menjadi doghouse
perhatikan cara mengubahnya menggunakan operator khusus =~ dan s// dimana memiliki syntax s/pola/source/paramater dengan parameter:

Switch
Meaning
g
Perform global matching
i
Case-insensitive matching
o
Evaluate the regular expression once only

Contoh
                                    penggunaan parameter dan substitusi:
@hits = ("Yon Yonson, Wisconsin" =~ /(\won)/g);
print "Matched on
                                    ", join(', ', @hits), ".\n";
hasilnya adalah:


Matched on yon, Yon, son, con.

CONTOH PEMAKAIAN PERL
Script perl untuk HTML sederhana:

#!/usr/local/bin/perl

#nama file: coba.pl
print "content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Selamat Datang Di Homepage Kami1</TITLE></HEAD>\n";
print "<BODY><H1>Terus Belajar, Terus Gratis!</H1></BODY></HTML>\n";
exit;

script perl untuk HTML dengan input file:

 

#!/usr/local/bin/perl
#
# Read in the data file
# Print out HTML formatted lines
#
 
$file = 'data.txt' ;                  # Name
                                    the file
open(INFO, "<$file" ) ;              
                                    # Open the file
@lines = <INFO> ;                    
                                    # Read it into an array
close(INFO) ;                        
                                    # Close the file
 
print "<HTML> <HEAD> <TITLE> PERL output </TITLE> </HEAD>\n" ;
print "  <BODY>\n" ;
 
foreach $line (@lines)                # assign @lines to
                                    $line, one at a time
{                                    
                                    # braces {} are required, bracket code
   print "\n   <P> $line   </P>" ;    # print formatted lines to
                                    screen 
}
 
print "\n  </BODY>\n</HTML>\n" ;
 
#
# DONE
#
      
contoh pemanfaatan reguler ekspresi yang lebih kompleks:


#!/usr/local/bin/perl

#
#
                                    Read in the data file
# Print out a HTML formatted lines
#
 
$file
                                    = 'data.txt' ;                 
                                    # Name the file
open(INFO, "<$file") ;               
                                    # Open the file
@lines = <INFO> ;                    
                                    # Read it into an array
close(INFO) ;                        
                                    # Close the file
 
$long_line = join("\n", @lines ) ;    # Convert array to variable
                              
                                           # retaining end-of-line characters
 
@dash_sep
                                    = split ( /---------/, $long_line ) ; # split long_line at dashes
 
print "<HTML>
                                    <HEAD> <TITLE> PERL output </TITLE> </HEAD>\n" ;
print " 
                                    <BODY>\n" ;
 
foreach $line (@dash_sep)            
                                    # assign @dash_sep to $line, one at a time
{ 
  $line
                                    =~ s/line of text./text fragment. /g ; # substitute text
  $line =~
                                    s/\n//g ;                          
                                    # remove end of line characters
 
 if ($line =~ /^A third text/ )                # test for 3rd text
                                    fragment
 {
    print "    <HR> <BR> \n" ;
 }
 
  print "    <P> $line </P> \n" ;
}
 
print
                                    "  </BODY>\n</HTML>\n" ;
 
#
#
                                    DONE
#

Tidak ada komentar:

Posting Komentar