[perl] petla po plikach


(Uzi123) #1

Potrzebuję wykonać w perlu te same operacje na plikach opisanych pewnym wyrażeniem regularnym. Muszę otworzyć każdy plik, dopisać pare znaków na końcu pliku i po pare znaków w każdym wierszu, jak to efektywnie zrobić? Jak wygląda pętla "po plikach" w perlu?


(Sawyer47) #2

Zwyczajnie, jak to pętla. Pseudokod:

my @files = ...;

for (@files) {

	open my $fh, $_, MODE ...;

	while(<$fh>) {

		...

	}

	close $fh;

}

(Uzi123) #3

Dziękuje, zastanawiałem się, czy nie ma jakiegoś analogu z php

<?php

foreach (glob("*.txt") as $filename) {

   coś robimy z $filename

}

?>

(Sawyer47) #4

Jest

for (glob "*.txt") { }

//lub krócej, do poczytania perldoc 

for (<*.txt>) {}

// lub dłużej jak chce się mieć nazwaną przez siebie zmienną:

for my $file (<*.txt>) {}