SOLUZIONE ESERCIZIO IN PERL
#!/usr/local/bin/perl use strict; my ($fname, $laststr, $done, $cur1, $cur2, $line1, $line2); if (@ARGV < 1) { die("Usage: ",$0," file_name\n"); } $fname=shift @ARGV; open(FILEIN,$fname) || die("open $fname: $!\n"); $laststr=<FILEIN>; $done=0; while ($line2 = <FILEIN>) { if ($line2 lt $laststr) { $cur2=tell FILEIN; last; } $laststr=$line2; } if (!defined($line2)) { $done=1; } seek FILEIN,0,0; while ($line1=<FILEIN>) { if (($line1 lt $line2) || $done) { print $line1; } else { $cur1=tell FILEIN; while ($line1 gt $line2) { print $line2; seek FILEIN, $cur2, 0; if (eof(FILEIN)) { $done=1; last; } else { $line2=<FILEIN>; $cur2=tell FILEIN; } } print $line1; seek FILEIN, $cur1, 0; } last if ($line1 eq $laststr); } if (!$done) { print $line2; seek FILEIN, $cur2, 0; while (<FILEIN>) { print $_; } }-- AntonioValletta - 15 Nov 2001
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |