Perl Programming 2
File Handling, Regular Expression, & Subroutine
Week 4
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN
Topics
1. File Handling
• File reading
• File writing
2. Regular Expression
• Text Searching & manipulation
3. Subroutine
• Sub
• Scope
• Parameters
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN2
1. File Handling PERL
• Perl dapat menghandle file untuk teks sederhana.
• Fungsi yang akan digunakan adalah fungsi open()
• Redirection symbols are legacy symbol from unix
command line :
• < redirect input from a file
• > redirect output to a file
• >> redirect output to a file in append mode
• Open (FILEHANDLE, “redirection symbol”,
“filename”)
• Open (INPUT, “<“, “simple_text.txt”);
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN3
Membaca file (cont..)
• Membaca file kedalam suatu array untuk diproses
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN4
Membaca file (cont..)
• Membaca file baris per baris
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN5
Membaca file (contd..)
• More advance example :
• Skipping header line
• Changing carriage return for a new line
• Splitting a line of input
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN6
Put it all together
• As a recommendation, never write to the
file that you have read from.
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN7
2. Regular Expression
• Regular Expression merupakan suatu cara
yang powerful untuk memanipulasi teks.
• Match – mencari substring dalam string
• Translate – replace one set of letters with
another
• Subtitute – a more powerful replacement
command
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN8
Matching
20/10/2020
Ghifari Munawar, [Link], M.T Jurusan Teknik Komputer dan Informatika - POLBAN9
Contoh sederhana - Matching
20/10/2020
Ghifari Munawar, [Link], M.T 10
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh kompleks - Matching
20/10/2020
Ghifari Munawar, [Link], M.T 11
Jurusan Teknik Komputer dan Informatika - POLBAN
Contoh Subtitutions
20/10/2020
Ghifari Munawar, [Link], M.T 12
Jurusan Teknik Komputer dan Informatika - POLBAN
3. Subroutines
• Subroutine merupakan suatu fungsi atau
prosedur yang dapat dipanggil pada
bagian lain dari suatu kode program.
• Subroutine dapat memiliki satu atau lebih
parameter input
• Subroutine dapat mengembalikan (return)
satu atau lebih parameter output
20/10/2020
Ghifari Munawar, [Link], M.T 13
Jurusan Teknik Komputer dan Informatika - POLBAN
Sub
• Contoh implementasi subroutine
20/10/2020
Ghifari Munawar, [Link], M.T 14
Jurusan Teknik Komputer dan Informatika - POLBAN
Scope
• A variable can only be seen within the scope
it was created in and in any scopes created
within that scope
• Scope is created by using {} and placing
code between them
• This is called a code block
• As a suggestion in each new code block indent
your code an additional tab space
20/10/2020
Ghifari Munawar, [Link], M.T 15
Jurusan Teknik Komputer dan Informatika - POLBAN
Scope (cont..)
• The variables can be seen
within the scope that it is
created and sub-scopes
• The green scope can see
$test1
• The green scope cannot see
$test4
• Variables cannot be seen in
higher scopes
• The blue scope cannot see
$test2 or $test3 or $test4
• Variables only exist so long
as their scope exists
• Once you exit your scope
your variables are no
longer accessible
20/10/2020
Ghifari Munawar, [Link], M.T 16
Jurusan Teknik Komputer dan Informatika - POLBAN
File Scope
• Where you declare
your variables is very
important, in this code
the variable $x can be
seen anywhere in the
program.
20/10/2020
Ghifari Munawar, [Link], M.T 17
Jurusan Teknik Komputer dan Informatika - POLBAN
Local Scope
• Again, where you declare
your variable is very
important. In this example
the declaration of $x
cannot be seen in
print_x_global()
20/10/2020
Ghifari Munawar, [Link], M.T 18
Jurusan Teknik Komputer dan Informatika - POLBAN
Parameters
• Parameter dapat diparsing berupa scalar
atau references
• Parameter dapat pula diparsing dengan
special array @_
• Output variable didapatkan dengan return
function
20/10/2020
Ghifari Munawar, [Link], M.T 19
Jurusan Teknik Komputer dan Informatika - POLBAN
Passing parameters
• Pada kode tersebut
dapat dilihat bahwa
parameter diparsing
pada sub square
berupa number dan
dikembalikan lagi
jawabannya.
20/10/2020
Ghifari Munawar, [Link], M.T 20
Jurusan Teknik Komputer dan Informatika - POLBAN
Passing parameter (contd..)
• Terdapat 2
parameter yang
diparsing pada
sub product, dan
diakses
menggunakan
array.
20/10/2020
Ghifari Munawar, [Link], M.T 21
Jurusan Teknik Komputer dan Informatika - POLBAN
Using references
• A reference is create
using the \ character
such as \@x
• The array is the
accessed by
dereferencing the
reference, such as
@$array_ref
• To return an array
send it as a reference.
20/10/2020
Ghifari Munawar, [Link], M.T 22
Jurusan Teknik Komputer dan Informatika - POLBAN
Questions :
20/10/2020
Ghifari Munawar, [Link], M.T 23
Jurusan Teknik Komputer dan Informatika - POLBAN