Perl, nasıl bir dizeye tüm dosyayı okuyabilir miyim?
Bir açmak için çalışıyorum .büyük bir uzun dize olarak html dosyası. Bu ne buldum
open(FILE, 'index.html') or die "Can't read file 'filename' [$!]\n";
$document = <FILE>;
close (FILE);
print $document;
sonuçları:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN
Ancak, sonuç gibi görünmek istiyorum:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Bu şekilde tüm belgeyi daha kolay arama yapabilirsiniz.
CEVAP
Bu şekilde yapardım:
my $file = "index.html";
my $document = do {
local $/ = undef;
open my $fh, "<", $file
or die "could not open $file: $!";
<$fh>;
};
Açık üç bağımsız sürüm kullanmayı unutmayın. Eskisine oranla çok daha güvenli iki (veya tek) değişken sürümleri. Ayrıca not, sözlü bir filehandle. Sözlü filehandles eski bareword türevleri daha güzel, birçok nedenden dolayı. Onlardan biri de burada istifade ediyoruz: kapsam. dışarı çıktıklarında kapatıyorlar
Git repo nasıl bir dosyayı silebilir m...
Nasıl R bir komut dosyası komut satırı...
Nasıl perl yerel bir uyarı yapabilir m...
Nasıl bir dosyayı okumak için bir dize...
Nasıl bir Perl programı için komut sat...