Nowe posty

xx brak uprawnienia do zamontowanej partycji ntfs - elementaryOS 6,1 (5)
Dzisiaj o 06:36:07
xx Jak zainstalować sterowniki do karty sieciowej TP LINK WN350GD (1)
2022-08-04, 05:55:46
xx Poczta Linux.pl (8)
2022-08-02, 16:48:14
xx Ubuntu vs Fedora (1)
2022-07-26, 03:40:58
xx virtualization technology (1)
2022-07-25, 21:27:10
xx Migracja z centos 6 na centos 7 (3)
2022-07-25, 07:31:19
xx akonadi w KDE5 (10)
2022-07-22, 23:34:05
xx Alternatywa dla Delphi (7)
2022-07-22, 15:27:42
xx problem - znieksztłacenia dźwięku pod firefoxem na niektórych stronach www (2)
2022-07-19, 15:03:52
xx Jak podmienić sterownik sieciówki (7)
2022-07-18, 21:41:25

Autor Wątek: Perl - operacje na plikach  (Przeczytany 6636 razy)

Drza

  • Gość
Perl - operacje na plikach
« dnia: 2008-06-05, 08:35:42 »
Witam. Walczę z zadaniem i potrzebuję pomocy . Chcę wyprodukować N plików o losowych nazwach 10-znakowych w katalogu
bieżącym.
Na razie mam taką postać, ale mam problem jak wylosować nazwę 10 znakową i potem wstawić do funkcji sysopen. Proszę o jakieś rady.

#!/usr/bin/perl -w

use warnings;
use strict;

$N = 0;

#zabezpieczenie przed pustym N

do {
   print "Podaj N \\n";
   our $N = ;
   } while ($N != 0)

for ($i = 0; $i <= $N; ++$i)
   {
   # tu tworze plik i nie jestem pewien czy dobrze
   sysopen (UCHWYT, 'nazwa.txt', O_RDWR|O_EXCL|O_CREAT, 0755);
   }

kapron

  • Gość
Perl - operacje na plikach
« Odpowiedź #1 dnia: 2008-07-03, 10:21:07 »
generowanie nazwy:

#! /usr/bin/perl

my @chars=('0'..'9', 'a'..'z', 'A'..'Z');
my $filename;

foreach(1..10) {
        $filename.=$chars[rand @chars];
}

print $filename;
print "\\n";

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
Perl - operacje na plikach
« Odpowiedź #2 dnia: 2008-07-03, 13:26:04 »
> while ($N != 0)

A nie czasem:

while( ( ! isnum( $N ) ) || ( $N <= 0 ) )

?