_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/utime - nustatyti priejimo prie failo failo ir paskutinio modifikavimo laikus
  • utime LIST

    Pakeičia priėjimo ir pakeitimo laikus kiekvienam failui iš sąrašo. Pirmi du sąrašo elementai privalo būti SKAITINIAI priėjimo ir modifikavimo laikai, tokia tvarka. Gražina sėkmingai pakeistų failų skaičių. Laikas pakeičiamas į dabartinį. Pvz, šis kodas turi tą patį efektą kaip Unix touch(1) komanda, kai failai jau egzistuoja ir priklauso vartotojui, leidžiančiam programą:

        #!/usr/bin/perl
        $atime = $mtime = time;
        utime $atime, $mtime, @ARGV;

    Nuo perl 5.7.2, jei pirmi du sąrašo elementai yra undef, tada utime(2) funkcija C bibliotekoje bus iškviesta su tuščiu antruoju argumentu. Daugumoje sistemų, tai nustatys failo priėjimo ir pakeitimo laikus į dabartinį laiką (t.y. tolygu pavyzdžiui viršuje) ir netgi veiks su kitų vartotojų failais kur turite rašymo leidimus:

        utime undef, undef, @ARGV;

    Po NFS tai naudos NFS serverio laiką, o ne lokalų. Jei yra sinchronizacijos problemų, NFS serveris ir vietinis kompiuteris turės skirtingus laikus. Unix touch(1) komanda tiesą sakant normaliai naudoja šią formą, vietoj parodytos pirmame pavyzdyje.

    Pažymėtina, kad tik perduodant vieną iš pirmų dviejų elementų kaip undef bus tolygu 0 perdavimui ir neturės tokio efekto kaip aprašyta, kai jie abu yra undef. Šiuo atveju taip pat bus paleistas neapibrėžtumo įspėjimas.

algirdas@perl.lt 2005.04.11 - $dabar