#!/usr/bin/env perl
use warnings;
use strict;
my $filename = 'July2014WLS_SOA1.out';
my $fileout = 'outputError.txt';
open (my $fh, '<', $filename) or die "cannot open input file $filename \!";
open (my $foh, '>', $fileout) or die "cannot open output file $filename \!";
my $count = 1;
while (my $myline = <$fh>){
if ($myline =~ m/^<[eE]rror>$/g || $myline =~ m/[eE]xception/g){
say $foh "Line $count : $myline";
}
if (lc $myline =~ "caused by"){
say $foh "Line $count : $myline \n \n \n"
}
$count++;
}
close $fh;
close $foh;
Kita mulai dengan men-specify nama file yang akan kita buka, dan nama file output yang akan ditulis:
my $filename = 'July2014WLS_SOA1.out';
my $fileout = 'outputError.txt';
Operasi baca dan tulis menggunakan syntax yang sama yaitu 'open(param1, param2, param3)'. Perbedaannya adalah di param2, dimana kita menggunakan tanda '<' untuk operasi baca, dan tanda '>' untuk operasi tulis.
open (my $fh, '<', $filename) or die "cannot open input file $filename \!";
open (my $foh, '>', $fileout) or die "cannot open output file $filename \!";
Line berikutnya akan melakukan looping seluruh baris yang ada dalam dokumen. Anda dapat melakukan operasi yang anda inginkan dalam Bracket While yang ada. Isi current line dapat diakses dalam variable $myline.
my $count = 1;
while (my $myline = <$fh>){
# insert your Operation here
}
close $fh;
close $foh;
Dalam code diatas, operasi yang saya lakukan adalah membaca setiap line, lalu melakukan matching pattern:
1. Apabila baris tersebut mengandung kata Exception atau exception, tulis line ke berapa error tersebut muncul, kemudian tuliskan errornya
2. Apabila baris tersebut mengandung kata "caused by", tulis juga line berapa error tersebut muncul dan apa isi line tersebut
if ($myline =~ m/^<[eE]rror>$/g || $myline =~ m/[eE]xception/g){
say $foh "Line $count : $myline";
}
if (lc $myline =~ "caused by"){
say $foh "Line $count : $myline \n \n \n"
}
$count++;
Terakhir, kita close file yang sedang kita proses dengan perintah close sbb:
close $fh;
close $foh;
That's it, anda dapat menggunakan snippet code diatas untuk melakukan operasi file yang anda inginkan. Semoga membantu!
No comments:
Post a Comment