[eeei.gr Logo]
Επικοινωνία
Ταυτότητα
Μαθήματα Internet | Μαθήματα Προγραμματισμού | Net Business | Τα νέα του Internet | Ο Κόσμος του Αύριο

Πώς τοποθετούμε τα περιεχόμενα ενός ολόκληρου αρχείου μέσα σε μια scalar

Η Perl έχει μια σειρά από ειδικές μεταβλητές που ξεκινούν από $ και καλύπτουν διάφορες εργασίες. Για την ανάγνωση ενός αρχείου θεωρεί ότι κάθε σειρά αποτελεί και ένα διαφορετικό στοιχείο μιας λίστας. Γι' αυτό και μπορούμε να βάλουμε εύκολα τα περιεχόμενα ενός αρχείου μέσα σε μια array π.χ. my @file_contents = (<FILE>)

undef $/;

Για να βάλουμε όλο το περιεχόμενο ενός αρχείου μέσα σε μια scalar πρέπει να «κλείσουμε» τον Input record separator ($/) που διαβάζει τις γραμμές ως ξεχωριστά στοιχεία μιας array.

open (FILE, 'test.txt') or die "can't open test.txt $!";

my $content = <FILE>;

Στη συνέχεια, απλώς τοποθετούμε τα περιεχόμενα του αρχείου στη scalar.

Προσοχή! Καλύτερα να χρησιμοποιείτε αυτή τη λειτουργία μέσα σε μια subroutine. Έτσι, δεν θα αλλάζετε τον default τρόπο με τον οποίο συμπεριφέρεται η Perl στο υπόλοιπο πρόγραμμά σας.

Ένας άλλος πιο απλός τρόπος για να πετύχουμε το ίδιο πράγμα είναι ο ακόλουθος:

open (FILE, ‘test.txt) or die "can't open test.txt $!";

my @contents = (<FILE>);

my $all_contents = join ("\n", @contents);

Δηλαδή τοποθετήσαμε κάθε γραμμή ως ξεχωριστό στοιχείο μιας λίστας και μετά ενώσαμε όλα τα στοιχεία της λίστας με τη join χρησιμοποιώντας ως διαχωριστικό τις αλλαγές γραμμών.


Τρέχουσα Ενότητα: Perl


 

Φιλικά - συνεργαζόμενα sites: Left Handed Products


© Eeei.gr 2009